C语言中怎样实现当输入的数据不符合要求时给出提示并要求重新输入
举个简单的例子说明:输入3个数,输出其中的最大值。代码:#include<stdio.h>voidmain(){inta,b,c,max;scanf("%d%d%d",&...
举个简单的例子说明:输入3个数,输出其中的最大值。
代码:
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
我是想,当输入的不是数,比如uyfyu或12a或*^%之类的时,提示输入有误,然后重新输入。其他语言有好方法也说下,比如C++、java。
O(∩_∩)O谢谢 展开
代码:
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
我是想,当输入的不是数,比如uyfyu或12a或*^%之类的时,提示输入有误,然后重新输入。其他语言有好方法也说下,比如C++、java。
O(∩_∩)O谢谢 展开
4个回答
展开全部
#include <iostream>
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<b)
max=b;
if(max<c)
max=c;
cout<<"最大值为"<<max;
}
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<b)
max=b;
if(max<c)
max=c;
cout<<"最大值为"<<max;
}
展开全部
#include<stdio.h>
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<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
解释,scanf()函数的返回值是它读取的值的个数,如果你声明类型是%d那就不会读取其他类型数据。 这是判断输入是否正确的最简单的方法。
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<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
解释,scanf()函数的返回值是它读取的值的个数,如果你声明类型是%d那就不会读取其他类型数据。 这是判断输入是否正确的最简单的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
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<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
自己再写一个isnumber()函数判断一个字符串是不是数值型就行了
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<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
自己再写一个isnumber()函数判断一个字符串是不是数值型就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义的是整形变量,输入的应当是数,如果想输入字母之类的,定义字符型吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询