如何控制输入只能是自然数,否则重新输入呢?
比如:#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
int main()
{
float a,b;
int i,j;
printf("请输入两个自然数a,b:\n");
scanf("%f%f",&a,&b);
i=a;j=b;
while(a<0||b<0||a!=floor(a)||b!=floor(b)||isalpha(i)||isalpha(j))
{
printf("请再输入一次:\n");
scanf("%f%f",&a,&b);
}
return 0;
}
这个程序目前只能实现对小数和负数的排除,而不能实现对字母等其他非数字字符的排除,而且输入字母的时候会出现无限提示(大概是数据类型的原因吧),求大神帮改正,使得其只能输入两个自然数,否则返回重新输入,哦。如果是允许超过两个的多个输入又是呢?