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

2021-01-12 11:56:56 字数 6359 阅读 2933

1楼:匿名用户

用库函数,isalpha(x)判断字母,isdigit(x)判断数字

2楼:尔梦山柔通

这个**,输错了(输入了字符或者输入了非1),就会让你继续输入吧。不会报错。最好在scanf后面加个清空缓冲区,吸收无效字符的语句。

3楼:广温伦赋

你这个程序与“输入的是字符还是数字”没有关系。

关键是不能用double类型的r与0直接这样进行比较:r!=0应该像下面这样写:

const

float

epsinon

=0.00001;

if((x

>=-epsinon)

&&(x

<=epsinon)

不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

c语言:如何判断输入的是数字还是其他字符 5

4楼:自我编程

有很多方法:

1、可以用sa**f或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。

2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。

至于怎么判读是字母还是数字,很简单,假设字符c,满足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母。

满足 (c>='0' && c<='9')就是数字。

c语言 如何实现判断输入的是否是数字是否是字符

5楼:田真久

使用ctype.h里面isdigit()和isalpha函数就可以判断了

#include

#include

intmain()

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

intmain()

9楼:陶萌圭雨伯

纯数字比如32832,128.321,其他的dsajk213d都算英文。

#include

void

main()

if(i==n)

printf("这是纯数字\n");

else

printf("这是字母,或者夹着数字的字母\n");

getch();}

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

10楼:非常可爱

可以使用**进行判断:

#include

intmain()

return0;

}扩展资料c语言判断输入是否是数字

intdigit;

printf("pleaseinputainteger\n");

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

if(0==ret)

11楼:四舍**入

1、可以用sa**f或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。

2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。

3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母,满足 (c>=0 && c<=9)就是数字。

12楼:匿名用户

1 通过getchar读入一个字符。

2 对字符判断,如果字符在'0'到'9'之间,则为数字,否则为字符。

3 根据判断结果,输出程序运行结果。

**:int main()

13楼:匿名用户

首先当作字符逐个读入字符串字符串中,读到分隔符(如白字符,逗号等)后,判断这个字符串中各个字符是否满足条件即可(0 -- 9为十进制数,含有abcdef或abcdef则为十六进制数)。

14楼:匿名用户

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是控制字符,其他....

15楼:匿名用户

这个看着简单的问题,其实涉及的东西不少。由于种种原因, c的输入部分,如scanf等,安全问题很大, 所以如果可能,就如前面有人建议的那样,把用户输入当字符串一起读入,然后自己处理。下面的**用fgets读入全部输入,然后用strtok分割,对分割后的字符串再做是否数字串的检查。

(注:有人认为strtok不安全,其实不一定,要看如何使用,如果可能采用支持新的c11的安全库xx_s结尾的,或自己写,或采用第3方开源的库都是可以的)。下面是一个完整的例子:

#include

#include

#include

#include

#definemax_input1024intisnumstring(constchar*s);

intmain(intargc,char**argv)printf("numericstringnumber:%d\n",count_numstring);

}return0;

}intisnumstring(constchar*s)}

returnretcode;

}运行结果:

enterstrings,entertocontinue,ctrl-ctoexit.

123

numericstringnumber:31,2s.3|4#5

numericstringnumber:4

16楼:匿名用户

这个要看你的**是怎么处理输入的

比如int a = 0;

scanf("%d", &a);

这就只能接收一个整数输入

------------

最好贴出你的**,也许你提出的问题不是你真正面对的问题。

17楼:狮子

具体需要分析你写的程序,因为如果你规定第二个输入为字符型,那么12 12a间的空格就是第二个数据,自然你看不见第二个输入数据。这只是一种可能。

18楼:匿名用户

建议你查一下 c函数库 可以用 isdigit 来判断是否为数字

19楼:李莞朋顺

判断是不是字符c可以使用:

if(g=='c')

满足这个便是c

注意大小写

20楼:龙鹤旗柔婉

#include

intmain()

21楼:幻翼高达

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

22楼:钞润桓鸿晖

对了,刚才经过试验发现ctype.h里面的函数都不能判定输入的字符。。。拿isalpha来说,其函数原型为

intisalpha(int

ch);其规定了ch为int型的,如果输入是字符的话就会程序错误,所以只能在程序本身里先赋好值,就像ch=\'a\'

这样判断才行,而输入的东西是不确定的,只有先赋值才不会有函数类型的判断错误。。。不知道本人说的对不,这是我刚才试出来的,我刚学c不久。。。

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

23楼:幻翼高达

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

24楼:匿名用户

#include

#include//引用头文件,conio=consoleinput/output简称coni(input)o(output)

intmain(void)

25楼:

int i=0;

while(1)

else}

c语言 输入一个字符,判断是字母,数字,还是特殊字符

26楼:南宫绯鸢

#include

#include

#define n 100

main()}

扩展资料:根据ascii码值判断即可。由于数字,大小写字母均分别为连续存储,所以只需要与对应的最大最小值比较即可确定字符类型。、

27楼:徜逸

|可以根据以下**进行判断:

#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个小写英文字母,其余为一些标点符号、运算符号等。

用C语言编写程序:输入字符,判断它是否是小写字母.如果是

1楼 匿名用户 include stdio h main c语言,输入一个字符,判断它是否是小写字母 如果是则输出大写字母,否则原样输出 2楼 匿名用户 你用的什么?我用的visual studio 2012,正常编译,正常运行, 没问题。可能和编译器有关系吧,我也是新手,不是很懂 3楼 乐行乐 表...

c语言输入整数1ltnlt100在输入n个字符将

1楼 匿名用户 1,读入字符组 2,后判断每个字符的类型 3,转换该转的就行了 2楼 include int main str n 0 puts str return 0 3楼 情缘掠影 大小写转换是变量大写加32变小写,小写减32变大写。 c语言输入一个整数 1 4楼 匿名用户 include s...

求如何编写C语言程序,输入字符,若是小写字母,转换为

1楼 老老鹰 char trans char str return str 用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母,转换为小写字母输出, 2楼 木澂 来如下 include int main 在devc 环境下运行效果如下 扩展资料 题目思路详解 这道题的要求为 输入...