C语言中如何实现验证输入的是否为数字?

Python013

C语言中如何实现验证输入的是否为数字?,第1张

LZ要在C中实现这个功能比较麻烦,需要首先要用字符型输入来判断,之后把字符型转化为整型,我写了一段代码,给LZ参考:

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

#include

#define

MAX

100

//最大输入长度为100

int

CharToInt(char

*a,int

l)

//把字符型转化为int型

int

Ten(int

k)

//10的k次幂

int

main()

{

char

a[MAX]

int

b

//最终输入的整数存放在b中

int

i,l,flag

while(1)

//输入

{

for(i=0i

4)

//长度超过4位,非法输入

{

printf("输入非法,请重新输入\n")

continue

}

flag=0

for(i=0i

'9')

{

flag=1

break

}

}

if(flag==1)

//其中有一个不在,则输入非法

{

printf("输入非法,请重新输入\n")

continue

}

break

}

b=CharToInt(a,l)

//把字符型转化为int型

//继续执行下面程序

return

0

}

int

CharToInt(char

*a,int

l)

{

int

i=0

int

b=0

for(i=l-1i>=0i--)

{

b+=(a[i]-'0')*Ten(i)

}

return

b

}

int

Ten(int

k)

{

int

i=0

int

b=1

for(i=0i

评论

0

0

加载更多

对于功能这个,可以做一个标志位 初始化值为0,当执行过第一项后赋值为1,然后在执行2-4时先检查标志位,如果为0则输出并重选

对于数据验证,可以先把分数输入到一个变量中,然后对这个变量进行检查

如果<0或者>100则要求重新输入

直到得到合法的输入,然后赋值给数组