c语言中如何判断输入是否是数字并非0到

2021-01-11 18:38:26 字数 5296 阅读 6429

1楼:匿名用户

0的ascii 码好像是48,所以可以利用这个来判断是否为数字,如果一个字符与48的差不在0到9就不是数字

2楼:匿名用户

用switch()或者if(),匹配0-9的asc码就是了...是

3楼:匿名用户

假设变量为x,表达式为:!(x>=48&&x<=57).就好了

c语言中如何判断输入是否是数字(并非0到9)

4楼:匿名用户

这个程序不难写,我告诉你思路和算法,你根据这个编写**就可以了。1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串。

2.用strlen函数计算这个字符串的长度,在此基础上借助for循环或while循环实现数组元素的遍历。3.

遍历每一个元素的同时用if语句判断这个元素的ascii码所在的范围是否在48~57之间,如果不在则中止循环,输出判断结果(即不是数字)。4.如果最后一个元素仍然是数字,则整个字符串则为一个大数。

5楼:匿名用户

利用ascii码判断 试试看

6楼:辛思若佟礼

0的ascii

码好像是48,所以可以利用这个来判断是否为数字,如果一个字符与48的差不在0到9就不是数字

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

7楼:非常可爱

可以使用**进行判断:

#include

intmain()

return0;

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

intdigit;

printf("pleaseinputainteger\n");

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

if(0==ret)

8楼:四舍**入

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

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

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

9楼:匿名用户

1 通过getchar读入一个字符。

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

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

**:int main()

10楼:匿名用户

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

11楼:匿名用户

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

12楼:匿名用户

这个看着简单的问题,其实涉及的东西不少。由于种种原因, 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

13楼:匿名用户

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

比如int a = 0;

scanf("%d", &a);

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

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

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

14楼:狮子

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

15楼:匿名用户

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

16楼:李莞朋顺

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

if(g=='c')

满足这个便是c

注意大小写

17楼:龙鹤旗柔婉

#include

intmain()

18楼:幻翼高达

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

19楼:钞润桓鸿晖

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

intisalpha(int

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

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

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

20楼:田真久

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

#include

#include

intmain()

21楼:

头文件ctype.h里有两个函数:

isalpha(ch),判断ch是不是字符,是的话返回“真”,否则返回“假”;

isdigit(ch),判断ch是不是数字,是的话返回“真”,否则返回“假”。

包含上头文件,直接用就行了……

22楼:匿名用户

你好,这个问题其实并不难,你只要明白了c++键盘输入的原理,其实键盘输入的都是ask码然后根据你想要的输入是int还是char再转换成你想要的值。

既然你想判断键盘的输入你可以用一个字符串先把你的输入存下来然后再判断那些字符是数字还是字母就ok啦

eg:#include

void main()

谢谢,,,不知道c中还有ctype,,,其实你可以用ctype中的函数判断,,,好吧,其实我学的是c++

23楼:匿名用户

//判断输入字符与0-9的ascii码值差就可以

#include

intmain()

24楼:陶萌圭雨伯

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

#include

void

main()

if(i==n)

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

else

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

getch();}

如何在c语言中表示数字0~9都出现过

25楼:悸苏词

1)最简单的是让数字字符去减‘0’得到的就是数字的值。示例如下: char c=‘0’; //'1','2','3',.....

'9' int num=0; num = int(c - '0'); 2)用函数atoi可以把字符转为数字。

26楼:高潮楪祈

#include

#include

intdigit(intn)

intfun(intn);

while(!(num[0]*num[1]*num[2]*num[3]*num[4]*num[5]*num[6]*num[7]*num[8]*num[9]))

returnn/2;

}intmain();

for(intn;scanf("%d",&n);)printf("%d\n\n",fun(n));

}望采纳

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

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

c语言问题输入0到100的数字自动显示最大值和最

1楼 匿名用户 include define n 10 定义一个宏 n ,用来保存输入的数字个数。 下面语句中用到的n都可以通过改变上面语句中的数字实现一改全改 我用冒泡排序的方法先排序,然后最大值和最小值就在排序后的最前面和最后面了。 int main for j 0 ja i 1 printf ...

Js如何接收参数并判断是否为空,asp和 javascript判断是否传参数,或者传参数为空?

1楼 匿名用户 你或许可以找到你传的值在 出错了,看打印出的alert语句。。 function returnmain var url lendcontract contractlist aspx managerrid managerrid parent location url js判断值是否为空...