gpt4 book ai didi

c++ - 平均循环,for 循环不执行

转载 作者:行者123 更新时间:2023-11-28 03:03:49 25 4
gpt4 key购买 nike

指导是:设计并编写一个程序,询问用户从多少个数字中确定平均值。然后提示用户输入整数值并将它们相加得到一个总数。显示数字的总和和计算出的平均值,并附上适当的文本。平均值应显示为小数点后一位。重复该过程,直到用户输入零 (0) 作为要平均的值数。您可以在主程序循环中使用“while”循环或“do…while”循环。

使用一个函数读取值并求和,使用另一个函数显示总和和平均值。使用“for”循环读取值并求和。

for 循环似乎没有执行,但我不明白为什么。

#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;

int sumNums(int amount, int, int, int);
void displaySum(int sum, int avg);

main()
{
int amount = 0;
cout <<"How many numbers do you wish to average? ";
cin >> amount;
int avg = 0, sum = 0;

while (amount != 0)
{

for (int lim = 0; lim == amount; lim++)
{
int number = 0;
cout <<"Enter a value"<< endl;
cin >> number;
sumNums(amount, number, sum, avg);
displaySum (sum, avg);

}


}
}

int sumNums (int amount, int number, int sum, int avg)
{
sum = sum + number;
avg = sum / amount;
return sum, avg;
}

void displaySum (int sum, int avg)
{
cout <<"The sum is "<< sum <<" and the average is "<< avg << endl;
}

最佳答案

for (int lim = 0; lim == amount; lim++)

在这里,您将 lim 设置为 0,代码仅在 amount 不为 0 时运行。在您的 for 中,仅当 lim 等于 amount 时才执行,这从未发生过。

无论您的条件是什么,对于您想要执行的每次迭代,它都必须评估为真。

很可能,您希望执行直到 lim 等于 amount,这意味着您希望它在 lim 低于 amount 的每个迭代中执行。

for(int lim = 0; i < amount; lim++)

关于c++ - 平均循环,for 循环不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20156943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com