C語言中怎樣判斷輸入的是整數還是浮點數

時間 2021-08-11 17:04:19

1樓:匿名使用者

scanf(%s,str);//先存成字串if(null==strchr(str,'.'))//等於null是沒有找到小數點else{sscanf(str,%lf,&b);//再從字串格式化成浮點型例如:inti;floatf;doubled;輸入i是整數,輸入f是float型,輸入d是double型(2)看輸入格式scanf(%d%f%lf,..

);%d輸入整數;%f輸入float型;%lf輸入double型------------------至於鍵盤上拍入的數,scanf(%d,&i);如果你拍入123或-123,沒問題,拍入的是整數,讀進去,也是整數。如果你拍入123.4或-123.

4,只會讀進去123或-123,而.4殘餘在緩衝區。scanf(%f,&f);如果你拍入123.

4或-123.4,讀進去是浮點數123.4或-123.

4如果你拍入123或-123,讀進去自動變浮點數。-------------------c語言的數的例子:123,-123,--整數,輸入格式%d064,040--八進位制整數,輸入格式%o

2樓:

先存成字串,判斷有沒有小數點,再從字串格式化成整型或浮點型。

#include

#include

#include

//char *strchr( const char *str, int ch );

int main(int argc, char *argv)else

system("pause");

return 0;}

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

3樓:匿名使用者

判斷是否浮點數

並計算位數while((m-(int)m)>0) //用原數-取整數 在這裡判斷如果大於零就表示有小數內

4樓:匿名使用者

把輸入的數看做字串,對小數點的ascii進行判斷。

在c語言中要怎麼來判斷整數和小數啊?比如說當在輸入浮點型資料的時候我要提醒它出錯要怎麼做?

5樓:會飛的小兔子

#include

#include

#include

//char*strchr(constchar*str,intch);

intmain(intargc,char*argv)inta=0;

doubleb=0;

charstr[10]="";

scanf("%s",str);//先存成字串if(null==strchr(str,'.'))//等於null是沒有找到小數點

sscanf(str,"%d",&a);//再從字串格式化成整型printf("輸入的是整型:%d\n",a);

else

sscanf(str,"%lf",&b);//再從字串格式化成浮點型

printf("輸入的是浮點型:%lf\n",b);

system("pause");

return0;

擴充套件資料c語言判斷數字為幾位數

#include

int main()

long long n;

int count = 0;

printf("輸入一個整數: ");

scanf("%lld", &n);

while(n != 0)

// n = n/10

n /= 10;

++count;

printf("數字是 %d 位數。", count);

6樓:匿名使用者

有一個非常巧妙的方法,就是將使用者輸入的數強轉為整型,然後和數本身做比較,如果不相等說明輸入的是小數!例子程式如下:

#include

void main()

7樓:匿名使用者

把你要輸入的數定義為double num

然後判斷(num - (int)num) 是否等於0

等於0num就是整數了

8樓:匿名使用者

c語言裡?使用者輸入?直接在接受的字串裡查詢小數點" . "

已經得到資料後,可以將float f強制賦值給一個int型變數i,然後比較i和f是否相等。這時候i只有f的整數部分。不相等,證明f含有小數部分。

9樓:匿名使用者

#include

using namespace std;

...typeid(d).name() 判斷d的型別!

c語言中將輸入的整數逆轉顯示,c語言用迴圈的方法,把輸入的一個整數,倒序輸出

思路 可以利用while迴圈依次對其進行對10取餘輸出併除10操作直到其為0為止,輸出的結果就是該整數的倒序。include int main return 0 輸出 12345 5 4 3 2 1 取餘加除法就可以了 include int main return 0 include includ...

C 語言輸入正整數,判斷它是否是迴文數

問明 include stdio h include stdlib h int main int num,k,n 0 printf 請輸入一個數 scanf d num k num while k 0 n n 10 k 10 k k 10 if n num printf d是迴文數 n else p...

怎麼判斷整數是否包含某位數在c 語言中

小妥 如果是數值的話,那麼將原始的數值減去取整後的數值如果大於0就表示有小數 if n int n 0 return true 如果是字串的話,有兩種方法,一種是將字串轉換為數值後用上面說的方法判斷,另一種是逐字判斷是否包含字元小數點 利用迴圈求餘運算,可以求出一個整數所有位上的數字,特點是倒序順序...