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

2021-08-04 10:35:23 字數 4830 閱讀 3886

1樓:

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

#include

#include

#include

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

int main(int argc, char *argv)else

system("pause");

return 0;}

2樓:匿名使用者

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

3樓:小飛花兒的憂傷

scanf的返回值是成功輸入的個數

如scanf("%lf",&t)但你卻輸入字元c那麼返回值是0

4樓:天下黑人第一

按照定義的型別計算機自已處理,你不用管,如果你定義為int,輸入3.4,它會有報錯提示,定義為float, 輸入3,它自動添零,已float型式存在,具體你可以參考:字元在計算機中儲存形式,就可明白。

5樓:手機使用者

輸入格式控制符,%f為浮點,%d為整型

6樓:

(1)看你的變數 成 整型 還 是 float 型 還 是 double 型.

例如:int i;

float f;

double d;

輸入 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, -- 整數, 輸入格式 %d

064, 040 -- 八進位制整數,輸入格式 %o

a0, ff -- 十六進位制整數, 輸入格式 %x

123.4, -123.4, 1e-02 -- 浮點數

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

7樓:匿名使用者

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

8樓:

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

#include

#include

#include

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

int main(int argc, char *argv)else

system("pause");

return 0;}

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

9樓:匿名使用者

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

void main (void)

else}

10樓:匿名使用者

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

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

11樓:匿名使用者

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

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

12樓:匿名使用者

判斷是否浮點數

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

13樓:匿名使用者

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

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

14樓:會飛的小兔子

#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);

15樓:匿名使用者

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

#include

void main()

16樓:匿名使用者

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

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

等於0num就是整數了

17樓:匿名使用者

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

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

18樓:匿名使用者

#include

using namespace std;

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

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

19樓:孝珺琪回胤

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

如果確定只有0~9

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

20樓:幹依秋厚躍

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

b=a;再定義一個float

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

c語言問題輸入整數n和它的進製d判斷整數

include int fun int n,int d int index 0,x,y,i x n y n d while x 0 for i 0 i index 2 i return 1 void main else include include using namespace std stat...

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語言輸入數判斷他是不是整數,如果是,判斷他是奇數還是偶

不知道樓主的編譯器是不是和我的一樣,不支援long double型別,我的改成這樣就可以了 include int main void else printf the number is odd n else printf the number is not an integer n return ...