Ⅰ c语言中如何实现验证输入的是否为数字
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=0;i
4)
//长度超过4位,非法输入
{
printf("输入非法,请重新输入\n");
continue;
}
flag=0;
for(i=0;i
'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-1;i>=0;i--)
{
b+=(a[i]-'0')*Ten(i);
}
return
b;
}
int
Ten(int
k)
{
int
i=0;
int
b=1;
for(i=0;i
评论
0
0
加载更多
Ⅱ C语言,如何判断一个数是数字啊
用scanf()从键盘输入读入一个字符串(注意别越界),之后编个循环检测每个字符,若存在不是字符'.',且>'0',<'9'的字符,那就不是数字,字符'.'若出现一次以上也不是数字。
Ⅲ C语言:如何判断输入的是数字还是其他字符
有很多方法:
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
至于怎么判读是字母还是数字,很简单,假设字符c,
满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满足 (c>='0' && c<='9')就是数字。
Ⅳ C语言 如何判断输入的是数字还是字符
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。
Ⅳ c语言中如何判断输入的是字符还是数字
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,满足 (c>=0 && c<=9)就是数字。
(5)如何用c语言判断数字扩展阅读:
getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
Ⅵ c语言中如何判断输入的是否数字
这个程序不难写,我告诉你思路和算法,你根据这个编写代码就可以了。
1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串。
2.用strlen函数计算这个字符串的长度,在此基础上借助for循环或while循环实现数组元素的遍历。
3.遍历每一个元素的同时用if语句判断这个元素的ascii码所在的范围是否在48~57之间,如果不在则中止循环,输出判断结果(即不是数字)。
4.如果最后一个元素仍然是数字,则整个字符串则为一个大数。