用C语言写一个无线循环 当输入数字时正确 输入其他时报错 请重新输入

来源:百度知道 编辑:UC知道 时间:2024/06/29 03:04:28
我自己尝试写过 问题是输入字符或其他的时候 程序进入不限循环报错
请大侠们教我应该怎么写 谢啦

#include<stdio.h>
#include<string.h>
char a[1005];
int main()
{
int i ,len;
while(1){
scanf("%s",a);
len = strlen(a);
for(i = 0;i < len;i ++) {
if(a[i] >='0' && a[i] <='9');
else break;
}
if(i == len) printf("YES\n");
else printf("%d %d NO\n",i,len);
}

}

#include<stdio.h>
int main()
{
char a;
int shu=0,c;
printf("qingshuru:\n\n");
for(c=1;c>=0;c++)
{
while((a=getchar())!='\n')
{
if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
printf("sorry\n");
else if(a>='0'&&a<='9')
shu++;
else
printf("sorry\n\n");
}
}
getch();
}