#include
using namespace std;
void main()
{
int a,b,c,max;
cout<<"请输入\n";
while(!(cin>>a>>b>>c))
{
cin.clear(); //这是关键
cin.ignore(); //这是关键
cout<<"数据格式有误 \n";
}
max=a;
if(max max=b;
if(max
cout<<"最大值为"<
}
#include
void main()
{
int a,b,c,max;
while(scanf("%d%d%d",&a,&b,&c)!=3)
printf("oh,no,please input 3 number!")
max=a;
if(max max=b;
if(max
printf("%d\n",max);
}
解释,scanf()函数的返回值是它读取的值的个数,如果你声明类型是%d那就不会读取其他类型数据。 这是判断输入是否正确的最简单的方法。
#include
void main()
{
int a,b,c,max;
do{
scanf("%d%d%d",&a,&b,&c);
}while(!isnumber(a)||!isnumber(b)||!isnumber(c));
max=a;
if(max max=b;
if(max
printf("%d\n",max);
}
自己再写一个isnumber()函数判断一个字符串是不是数值型就行了
你定义的是整形变量,输入的应当是数,如果想输入字母之类的,定义字符型吧