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 ...