c语言中如何判断输入的是字符还是数字 c语言里 输入时 怎么判断是字符还是数字?
C\u8bed\u8a00\uff1a\u5982\u4f55\u5224\u65ad\u8f93\u5165\u7684\u662f\u6570\u5b57\u8fd8\u662f\u5176\u4ed6\u5b57\u7b26\u6709\u5f88\u591a\u65b9\u6cd5\uff1a
1\u3001\u53ef\u4ee5\u7528sacnf\u6216gets\u51fd\u6570\u76f4\u63a5\u63a5\u6536\u8f93\u5165\u7684\u5b57\u7b26\u4e32\uff0c\u7136\u540e\u7528\u5faa\u73af\u904d\u5386\u5b57\u7b26\u4e32\u4e2d\u6bcf\u4e00\u4e2a\u5b57\u7b26\uff0c\u5224\u65ad\u5176\u662f\u5b57\u6bcd\u8fd8\u662f\u6570\u5b57\u3002
2\u3001\u53ef\u4ee5\u7528\u5faa\u73af\u8c03\u7528getch()\u6216getchar()\u51fd\u6570\u6765\u4e00\u4e2a\u4e00\u4e2a\u5b57\u7b26\u7684\u63a5\u6536\u8f93\u5165\uff0c\u540c\u65f6\u5224\u8bfb\u8f93\u5165\u7684\u662f\u5b57\u6bcd\u8fd8\u662f\u6570\u5b57\u3002
\u81f3\u4e8e\u600e\u4e48\u5224\u8bfb\u662f\u5b57\u6bcd\u8fd8\u662f\u6570\u5b57\uff0c\u5f88\u7b80\u5355\uff0c\u5047\u8bbe\u5b57\u7b26c,
\u6ee1\u8db3 (c>='a'&& c='A' && c<='Z'\uff09\u5c31\u662f\u5b57\u6bcd\u3002
\u6ee1\u8db3 (c>='0' && c<='9'\uff09\u5c31\u662f\u6570\u5b57\u3002
\u9700\u8981\u51c6\u5907\u7684\u6750\u6599\u5206\u522b\u6709\uff1a\u7535\u8111\u3001C\u8bed\u8a00\u7f16\u8bd1\u5668\u3002
1\u3001\u9996\u5148\uff0c\u6253\u5f00C\u8bed\u8a00\u7f16\u8bd1\u5668\uff0c\u65b0\u5efa\u4e00\u4e2a\u521d\u59cb.cpp\u6587\u4ef6\uff0c\u4f8b\u5982\uff1atest.cpp\u3002
2\u3001\u5728test.cpp\u6587\u4ef6\u4e2d\uff0c\u8f93\u5165C\u8bed\u8a00\u4ee3\u7801\uff1a
char a;scanf("%c", &a);
if (a '9') {printf("\u8f93\u5165\u9519\u8bef\n");}
3\u3001\u7f16\u8bd1\u5668\u8fd0\u884ctest.cpp\u6587\u4ef6\uff0c\u6b64\u65f6\u6210\u529f\u5224\u65ad\u4e86\u8f93\u5165\u7684\u662f\u5b57\u7b26\u800c\u6253\u5370\u4e86\u201c\u8f93\u5165\u9519\u8bef\u201d\u7684\u63d0\u793a\u3002
可以使用代码进行判断:
#include<stdio.h>
intmain()
{
charc;
while(scanf("%c",&c)!=EOF)
{
getchar();
if(c>='0'&&c<='9')
printf("%c是数字
",c);
elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')
printf("%c是字母
",c);
elseprintf("%c是特殊字符
",c);
}
return0;
}
扩展资料
C语言判断输入是否是数字
intdigit;
printf("pleaseinputainteger
");
intret=scanf("%d",&digit);
if(0==ret)
{
printf("youshouldinputainteger
");
system("pause");
return0;
}
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,满足 (c>=0 && c<=9)就是数字。
扩展资料:
getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
参考资料来源:百度百科-getch()
对了,刚才经过试验发现ctype.h里面的函数都不能判定输入的字符。。。拿isalpha来说,其函数原型为
int
isalpha(int
ch);其规定了ch为int型的,如果输入是字符的话就会程序错误,所以只能在程序本身里先赋好值,就像ch=\'a\'
这样判断才行,而输入的东西是不确定的,只有先赋值才不会有函数类型的判断错误。。。不知道本人说的对不,这是我刚才试出来的,我刚学c不久。。。
需要准备的材料分别有:电脑、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、最后,输入字母,此时成功判断了输入内容为字母。
1 通过getchar读入一个字符。
2 对字符判断,如果字符在'0'到'9'之间,则为数字,否则为字符。
3 根据判断结果,输出程序运行结果。
代码:
int main()
{
int c = getchar();
if(c >= '0' && c<='9') printf("%c 是数字\n",c);
else printf("%c 是字符\n",c);
}
绛旓細鍙互if璇彞鍒ゆ柇銆備緥濡傚垽鏂槸涓嶆槸鏁板瓧锛屽彲浠ョ敤涓嬮潰杩欐潯if璇彞鍒ゆ柇 if('0'<=ch && ch<='9')printf("ch is digit\n");姝ゅ锛屾彁閱掍竴涓嬶紝鏁板瓧涔熸槸瀛楃銆備綘璇鐨勬槸鍒ゆ柇鏄瓧姣嶈繕鏄暟瀛楀惂锛熷鏋滄兂鍒ゆ柇鏄笉鏄瓧姣嶏紝杩欎箞鍒ゆ柇锛歩f(('a'<=ch && ch<='z') || ('A'<=ch && ch<='Z'))printf(...
绛旓細include<stdio.h> define arraylen(array,len) { len=(sizeof(array) /sizeof(array[0]));} int isLetter(char c);int isNumber(char c);void main(){ char chs[]="12345678abcdegf134";int length=0;arraylen(chs,length);int i;for(i=0;i<length;i++){ if(isLetter(chs[i]))...
绛旓細鈥)鏄厛鎵цgetchar锛堬級锛屽氨鏄粠閿洏璇诲叆涓涓瀛楃锛屽啀灏嗚繖涓瓧绗﹁祴鍊肩粰c锛岀劧鍚庡啀鎵цwhile(c!='\n')锛屽氨鏄鍒ゆ柇鏄惁鏄洖杞︾銆俿canf("%d%d%d,a,b,c")閲岃竟%d鏄牸寮忔帶鍒杈撳叆锛屽氨鏄竴澶т覆鐨勭浉鍚屾牸寮忕殑涓滆タ涓璧疯緭鍏 鑷充簬涓轰粈涔堜笉鐢ㄥ畠锛屽氨鏄鏍规嵁浣犵殑棰樼洰瑕佹眰浜 鍥犱负浣犳槸鐢╯canf鐨勬椂鍊欒緭鍏ュ洖杞︾涓...
绛旓細鍙互鍙傝冧笅闈㈢殑浠g爜锛歩nclude<iostream> using namespace std;int main(){ double num;if(cin>>num)cout<<"Input correct!"<<endl;else cout<<"Input erroe!"<<endl;return 0;}
绛旓細浣犳槸鐭ラ亾鑷繁鎯宠杈撳叆鐨勬槸瀛楃杩樻槸鏁板瓧锛屽鍚э紵濡傛灉鏄繖鏍凤紝浣犲氨鍔犱竴涓爣蹇楃锛岀敤鏉鍒ゆ柇杈撳叆鐨涓滆タ鏄笉鏄綘瑕佺殑銆俰nt flag;flag = scanf("%d",&n);if(flag==1) printf("right\n");else printf("wrong\n");flag = scanf("%d",&n); //閫佽繑鎴愬姛璇诲叆鐨勬暟鎹釜鏁般傝緭鍏ュ瓧姣嶏紝flag涓0...
绛旓細include <stdio.h> include <stdlib.h> void main(){ printf("璇锋暟杈撳叆涓涓瀛楃锛");char ch = getchar();if(ch>= 'a'&&ch<= 'z')printf("璇ュ瓧绗︽槸灏忓啓瀛楁瘝");else if(ch >= 'A'&&ch <='Z')printf("璇ュ瓧绗︽槸澶у啓瀛楁瘝");else if(ch>='0'&&ch <='9')printf("璇ュ瓧绗︽槸...
绛旓細鐪嬪畠鐨凙SSIC鐮佹槸涓嶆槸0--9鍟 涓嶆槸灏遍噸杈
绛旓細鏃㈢劧浣犳兂鍒ゆ柇閿洏鐨勮緭鍏浣犲彲浠ョ敤涓涓瀛楃涓鍏堟妸浣犵殑杈撳叆瀛樹笅鏉ョ劧鍚庡啀鍒ゆ柇閭d簺瀛楃鏄暟瀛楄繕鏄瓧姣嶅氨ok鍟 eg锛歩nclude <stdio.h> void main(){ char *input[1000];cin>>input;if(input[0]>'0'&&intput[0]<'9')鏁板瓧 else 瀛楃 } 璋㈣阿 锛岋紝锛屼笉鐭ラ亾c涓杩樻湁ctype锛岋紝锛屽叾瀹炰綘鍙互鐢╟type涓殑...
绛旓細include <stdio.h> include <string.h> int main(){ char str[200];while(1){ printf("璇疯緭鍏: "); //杈撳嚭鎻愮ず淇℃伅 scanf("%s", &str); //绛夊緟浠庨敭鐩樿鍏ヤ竴涓瓧绗︿覆鍒板彉閲弒tr閲 //浣跨敤c搴撻噷鐨剆trcmp鍒ゆ柇杈撳叆鐨勫瓧绗︿覆锛宻trcmp杩斿洖0鏃惰〃绀虹浉鍚 //锛屽瑕佸拷鐣ュぇ灏忓啓浣跨敤strcmpi鍑芥暟...
绛旓細濡傛灉鍓嶉潰娌℃湁杈撳叆瀛楃锛岄偅灏辫繑鍥炰竴涓敊璇俊鎭疎OF銆俰nt main(int argc,char *argv[]){ float x; if(scanf("%f",&x)!=1) printf("Invalid input\n"); else printf("%f\n",x); return 0;}鑷繁鐪嬪浘鐗囥傛病鏈夋槑鐧戒笉鑳鍒ゆ柇鏄浠涔堟剰鎬濓紒