c语言中如何判断输入的是字符还是数字

比如我输入的12 12a,怎样在屏幕上显示我输入了1个数而不是俩?

可以使用代码进行判断:

#include<stdio.h>

intmain()

{

charc;

while(scanf("%c",&c)!=EOF)

{

getchar();

if(c>='0'&&c<='9')

printf("%c是数字\n",c);

elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')

printf("%c是字母\n",c);

elseprintf("%c是特殊字符\n",c);

}

return0;

}

扩展资料

C语言判断输入是否是数字

intdigit;

printf("pleaseinputainteger\n");

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

if(0==ret)

{

printf("youshouldinputainteger\n");

system("pause");

return0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-21

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,再执行下面的语句。

参考资料来源:

本回答被网友采纳
第2个回答  2019-07-13
对了,刚才经过试验发现ctype.h里面的函数都不能判定输入的字符。。。拿isalpha来说,其函数原型为
int
isalpha(int
ch);其规定了ch为int型的,如果输入是字符的话就会程序错误,所以只能在程序本身里先赋好值,就像ch=\'a\'
这样判断才行,而输入的东西是不确定的,只有先赋值才不会有函数类型的判断错误。。。不知道本人说的对不,这是我刚才试出来的,我刚学c不久。。。
第3个回答  2019-07-22

需要准备的材料分别有:电脑、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、最后,输入字母,此时成功判断了输入内容为字母。

第4个回答  推荐于2017-09-01
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);

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网