C語言如何判斷輸入的是數字還是其他字元

2021-03-04 05:44:46 字數 6090 閱讀 2551

1樓:自我程式設計

有很多方法:

1、可以用sa**f或gets函式直接接收輸入的字串,然後用迴圈遍歷字串中每乙個字元,判斷其是字母還是數字。

2、可以用迴圈呼叫getch()或getchar()函式來乙個乙個字元的接收輸入,同時判讀輸入的是字母還是數字。

至於怎麼判讀是字母還是數字,很簡單,假設字元c,滿足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母。

滿足 (c>='0' && c<='9')就是數字。

c語言 如何判斷輸入的是數字還是字母

2樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建乙個初始的.cpp檔案,例如:test.cpp。

2、其次,在test.cpp檔案中,輸入c語言**:char a = getchar(); getchar();

if (a <= '9' && a >= '0') printf("數字");else printf("字母");

3、然後,編譯器執行test.cpp檔案,輸入數字,此時會成功判斷輸入內容為數字。

4、最後,輸入字母,此時成功判斷了輸入內容為字母。

3樓:匿名使用者

# include

# include //引用標頭檔案,conio=console input/output 簡稱coni(input)o(output)

int main(void)

4樓:

int i=0;

while(1)

else}

c語言 如何實現判斷輸入的是否是數字是否是字元

5樓:田真久

使用ctype.h裡面isdigit()和isalpha函式就可以判斷了

#include

#include

int main()

6樓:

標頭檔案ctype.h裡有兩個函式:

isalpha(ch),判斷ch是不是字元,是的話返回「真」,否則返回「假」;

isdigit(ch),判斷ch是不是數字,是的話返回「真」,否則返回「假」。

包含上頭檔案,直接用就行了……

7樓:匿名使用者

你好,這個問題其實並不難,你只要明白了c++鍵盤輸入的原理,其實鍵盤輸入的都是ask碼然後根據你想要的輸入是int還是char再轉換成你想要的值。

既然你想判斷鍵盤的輸入你可以用乙個字串先把你的輸入存下來然後再判斷那些字元是數字還是字母就ok啦

eg:#include

void main()

謝謝,,,不知道c中還有ctype,,,其實你可以用ctype中的函式判斷,,,好吧,其實我學的是c++

8樓:匿名使用者

//判斷輸入字元與0-9的ascii碼值差就可以

#include

int main()

9樓:陶萌圭雨伯

純數字比如32832,128.321,其他的dsajk213d都算英文。

#include

void

main()

if(i==n)

printf("這是純數字\n");

else

printf("這是字母,或者夾著數字的字母\n");

getch();}

c語言 輸入乙個字元,判斷該字元是數字、字母、空格還是其他字元。

10樓:匿名使用者

三個空分別是:

1、ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'

2、 ch >= '0' && ch<='9'

3、 ch == ' '

4、完整**

#include

#include int main()

else if(ch>='a'&&ch<='z')

else if(ch>='a'&&ch<='z')

else if(ch==' ')

else

}   return 0;

}擴充套件資料

c語言特有特點

1、c語言是乙個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。

3、不同的變數型別可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。

參考資料

11樓:匿名使用者

根據ascii碼值判斷即可。

#include

int main()

12樓:匿名使用者

三個空分別是:

1. ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'

2. ch >= '0' && ch<='9'

3. ch == ' '

13樓:匿名使用者

//加上。

#include

if(isalpha(ch))...

else if(isdigit(ch))...

else if(ch == ' ')...

//不然就是樓上的答案。

14樓:我愛一蓑煙雨

# coding=utf-8

x=raw_input("")

if(x>='0')&(x<='9'):

print ("是數字")

elif((x.lower()>='a')&(x.lower()<='z')):

print ("是字母")

elif(x==' '):

print ("是空格")

else :

print("是其他")

15樓:宰父可欣傅媼

根據ascii碼值判斷即可。由於數字,大小寫字母均分別為連續儲存,所以只需要與對應的最大最小值比較即可確定字元型別。

**如下:

#include

int main()

16樓:徜逸

可以根據以下**進行判斷:

#include

int main()

return 0;

}判斷輸入字元的方式

由於每個字元通常都有乙個特定的ascii碼,可以通過ascii碼進行判斷,當滿足輸入的字元滿足特定數值的ascii碼進行判斷。部分ascii碼如下:

ascii 碼使用指定的7 位或8 位二進位製數組合來表示128 或256 種可能的字元。標準ascii 碼也叫基礎ascii碼,使用7 位二進位製數(剩下的1位二進位制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。

其中:0~31及127(共33個)是控制字元或通訊專用字元(其餘為可顯示字元),如控制符:lf(換行)、cr(回車)、ff(換頁)、del(刪除)、bs(退格)、bel(響鈴)等;

通訊專用字元:soh(文頭)、eot(文尾)、ack(確認)等;ascii值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程式,而對文字顯示有不同的影響。

32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。

65~90為26個大寫英文本母,97~122號為26個小寫英文本母,其餘為一些標點符號、運算符號等。

17樓:匿名使用者

加上ch=getchar();後輸出的實際上是enter鍵

c語言中如何判斷輸入的是字元還是數字

18樓:非常可愛

可以使用**進行判斷:

#include

intmain()

return0;

}擴充套件資料c語言判斷輸入是否是數字

intdigit;

printf("pleaseinputainteger\n");

intret=scanf("%d",&digit);

if(0==ret)

19樓:四捨**入

1、可以用sa**f或gets函式直接接收輸入的字串,然後用迴圈遍歷字串中每乙個字元,判斷其是字母還是數字。

2、可以用迴圈呼叫getch()或getchar()函式來乙個乙個字元的接收輸入,同時判讀輸入的是字母還是數字。

3、假設字元c,滿足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母,滿足 (c>=0 && c<=9)就是數字。

20樓:匿名使用者

1 通過getchar讀入乙個字元。

2 對字元判斷,如果字元在'0'到'9'之間,則為數字,否則為字元。

3 根據判斷結果,輸出程式執行結果。

**:int main()

21樓:匿名使用者

首先當作字元逐個讀入字串字串中,讀到分隔符(如白字元,逗號等)後,判斷這個字串中各個字元是否滿足條件即可(0 -- 9為十進位製數,含有abcdef或abcdef則為十六進位製數)。

22樓:匿名使用者

isalnum

語法:#include

int isalnum( int ch );

功能:如果引數是

數字或字母字元,函式返回非零值,否則返回零值。

isalpha

語法:#include

int isalpha( int ch );

功能:如果引數是字母字元,函式返回非零值,否則返回零值。

isdigit

語法:#include

int isdigit( int ch );

功能:如果引數是0到9之間的數字字元,函式返回非零值,否則返回零值isxdigit

語法:#include

int isxdigit( int ch );

功能:如果引數是十六進位制數字字元(即:a-f, a-f, 0-9),函式返回非零值,否則返回零值。

另外,可以根據ascii的值來判斷:

48~57是數字 ,0~31是控制字元,其他....

23樓:匿名使用者

這個看著簡單的問題,其實涉及的東西不少。由於種種原因, c的輸入部分,如scanf等,安全問題很大, 所以如果可能,就如前面有人建議的那樣,把使用者輸入當字串一起讀入,然後自己處理。下面的**用fgets讀入全部輸入,然後用strtok分割,對分割後的字串再做是否數字串的檢查。

(注:有人認為strtok不安全,其實不一定,要看如何使用,如果可能採用支援新的c11的安全庫xx_s結尾的,或自己寫,或採用第3方開源的庫都是可以的)。下面是乙個完整的例子:

#include

#include

#include

#include

#define max_input 1024int isnumstring(const char *s);

int main(int argc, char** argv)printf("numeric string number: %d\n", count_numstring);

}return 0;

}int isnumstring(const char* s)}

return retcode;

}執行結果:

enter strings, enter to continue, ctrl-c to exit.

1 2 3

numeric string number: 31,2s.3 | 4 # 5

numeric string number: 4

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

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

C語言判斷數字數問題

整數的最大長度也就是10位 無符號整數最大2的32次方 1 如果想表示再大的數,最多也只能是定義成long long資料可達到2的64次方 1,你的程式需要修改一下。include stdio.h int main printf anwser d n j return 0 如上所說,長整型資料型別本...

c語言用if語句輸入中文來判斷,C語言 怎麼用if()判斷輸入的漢字是否是要求的漢字

if後面可以是個表示式 你可以試試字串比較呵呵 不能 c語言是全英文的 你別去想這種便宜事兒,好好安心學吧。c語言 怎麼用if 判斷輸入的漢字是否是要求的漢字 定義乙個字串就可以為了 然後用strcpy 比較 include include int main void 如何在c語言中使用漢字作為if...