c語言中如何驗證輸入的資料是否為浮點型

時間 2021-12-25 07:44:32

1樓:

scanf函式在正確接收匹配資料時返回已為變數正確賦值的個數。這裡只有一個變數a,所以輸入正確時返值為1。故可迴圈檢查scanf的返值是否為1,不為1則說明出錯,要求重新輸入即可。

舉例**如下:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int main(void)

2樓:匿名使用者

c語言好像沒有提供判斷float型別的函式吧,如果是擔心輸入錯誤的話,可以使用while迴圈,在裡面檢測scanf函式的返回值是否正常。另外,scanf對float的讀入是有bug的,最後改用double,不然到時候出了問題,會鬱悶死的

3樓:匿名使用者

float a;

while(scanf("%f",&a)==1)

scanf語句只有在正確輸入相應型別是才會返回函式值1,這樣就可以驗證輸入資料是否為浮點型資料了,希望我的回答對你有所幫助

4樓:匿名使用者

嘗試以下**:

#include

int main(void)

else printf("%f",a);

return 0;

5樓:匿名使用者

#include

int main()

else

flag = 0;

}return 0;

}在vc6.0下驗證過了,沒有問題

c語言中怎麼判斷輸入的數是整數還是浮點數?

6樓:匿名使用者

判斷是否有小數唄,但是不科學,也許有更好方法#include

void main (void)

else}

7樓:匿名使用者

c語言中沒有判斷輸入是整數還是浮點數的既有功能,需要自己實現.

實現方法是把輸入作為字串讀入,然後自行分析該字串表示的是整數還是浮點數.

8樓:匿名使用者

可以用sizeof()來判斷,他們的位元組數是不相等的!int是4,float是8!希望對你有幫助!

c語言如何判斷一個數是不是浮點數

9樓:孝珺琪回胤

不太懂你的意思,正常理解的話,你應該是字串輸入。然後判斷是不是浮點數

如果確定只有0~9

和小數點,那麼只需要判斷是不是含有小數點即可,及時是3.00也是浮點數

10樓:幹依秋厚躍

假如a是浮點數,再定義一個整型變數int

b=a;再定義一個float

c=a/b,假如c=1則浮點數a是整數

c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素

include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...

怎樣檢查C語言輸入資料的合法性,C語言中怎樣判斷變數名的合法性?

如果是整數的話,這麼判斷就行 float num int num2 scanf f num if num int num num2 int num 如果輸入正確,將整數儲存到num2中 else printf eof 用 if scanf d x 1 判斷。scanf,fscanf 送返 正確地讀入...

C語言中如何控制非法輸入 c語言如何限制非法輸入

c語言中大部分自帶的方法都有返回值,像scanf方法如果輸入正確的話,它會返回一個正整數,所以你可以通過它來判斷,如果輸入不正確的話它返回是0,你就可以通過這個判斷是否為非法輸入。scanf 函式有返回值且為int型。scanf 函式返回的值為 正確按指定格式輸入變數的個數 也即能正確接收到值的變數...