【发布时间】:2017-05-08 16:20:16
【问题描述】:
我需要编写一个代码来从用户那里获取 5 个正数。 这是我的代码:
cout << "Write 5 positive numbers:" << endl;
int input;
int num[5];
for(int i = 0; i <= 4; ++i){
cin >> input;
if(input < 0){
cout << "Error" << endl;
}else{
num[i] = input;
}
}
for(int i = 0; i <= 4; ++i){
cout << "Number " << i << " = " << num[i] << endl;
}
问题是数组应该只存储正数。当我输入负数num 时,它也会存储它,然后打印垃圾值。例如,输入是:3 -2 1 6 8
输出是:
Number 0 = 3
Number 1 = -1608404014
Number 2 = 1
Number 3 = 6
Number 4 = 8
代码应该要求用户输入输入,直到数组中的所有 5 个桶都将仅填充正数
【问题讨论】:
-
您的代码完全按照您的指示行事。如果输入负数,则跳过该数组的索引。
-
你需要使用
while loop
标签: c++