c++中如何输入在一定范围内的数组,比如a[10],每个数范围是一到十
3 回答

心有法竹
TA贡献1866条经验 获得超5个赞
无法避免错误输入
但可以在输入错误的时候提示重新输入
比如
1234567891011 | int a[10], n; n = 0; while (n<10) { cin >> a[n]; if (a[n]>=1 && a[n]<=10) n++; else { cout << "input error, redo\n" ; } } |

UYOU
TA贡献1878条经验 获得超4个赞
#include <iostream>
using namespace std;
int main()
{
int i = 1, s = 1, n;
cout << "输入n="; cin >> n;
while (n<1 || n>15){ //n的值若不在1-15范围内将不断循环输入
cout << "n的范围是1-15,请重新输入n的值\n输入n=";
cin.clear();
cin.sync();
cin >> n;
}
do
{
s = s*i;
i++;
} while (i <= n);
cout << "n!=" << s << endl;
return 0;
}

一只斗牛犬
TA贡献1784条经验 获得超2个赞
这么改
cin>>n;
while(1)
{
if(n<1 || n>15)
{cout<<"n的值超出范围,请重新输入!"<<endl;
cout<<"输入n=";
cin>>n;}
else
break;
}
- 3 回答
- 0 关注
- 1473 浏览
添加回答
举报
0/150
提交
取消