c语言中如何判断输入的是否数字?

Python019

c语言中如何判断输入的是否数字?,第1张

这个程序不难写,我告诉你思路和算法,你根据这个编写代码就可以了。

1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串

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

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

4.如果最后一个元素仍然是数字,则整个字符串则为一个大数。

由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。

比如

if(c>='0' &&c<='9') printf("%c 是数字\n",c)

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

如果判断要经常使用,可以将该功能封装为函数:

int is_num(char c)

{

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

}

或者宏定义:

#define is_num(c) (c>='0' &&c<='9')