如何在循环中放置哨兵
How to put sentinel in for loop
我有几个问题需要解决。此程序可查找用户所需数字的平均值。例如,如果他们输入3,然后输入1,2,3,则平均值为2。首先,如果输入0,我的程序应该停止。因此,如果我输入3作为将被平均的整数的数量,然后我键入1,2,0,它应该停止,不计算平均值。此外,我需要说明负数。
#include <iostream>
using namespace std;
double avgVal(int, int);
int main()
{
int amountOfCases;
cin >> amountOfCases;
int * numbers = new int[amountOfCases];
int sum = 0;
while(numbers !=0)
{
for (int i = 0; i<amountOfCases; i++)
{
cin >> numbers[i];
sum = sum + numbers[i];
}
cout<<avgVal(sum, amountOfCases)<<endl;
delete[] numbers;
}
system("pause");
return 0;
}
double avgVal(int sum, int amountOfCases)
{
return sum / (double)amountOfCases;
}
不确定添加while
循环时的想法。考虑到你正在努力解决的问题,这是没有必要的。
更改线路:
while(numbers !=0)
{
for (int i = 0; i<amountOfCases; i++)
{
cin >> numbers[i];
sum = sum + numbers[i];
}
cout<<avgVal(sum, amountOfCases)<<endl;
delete[] numbers;
}
至
for (int i = 0; i<amountOfCases; i++)
{
cin >> numbers[i];
if ( numbers[i] == 0 )
{
exit(1); // Exit with a non-zero status, indicating failure.
}
sum = sum + numbers[i];
}
cout<<avgVal(sum, amountOfCases)<<endl;
delete[] numbers;
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- while 循环不以哨兵值终止
- 对我是否需要一个哨兵值来终止我的 do while 循环以允许多个条目感到困惑
- 对如何摆脱没有哨兵值的无限循环感到困惑
- 哨兵循环不会运行
- 为什么有些哨兵循环需要中断才能终止?C++11.
- 如何在循环中放置哨兵
- 带有计数的for和while循环中的c++哨兵.陷入无限循环