gpt4 book ai didi

c++ - do while 循环中的数组值未传递给下一个

转载 作者:行者123 更新时间:2023-11-28 00:19:00 24 4
gpt4 key购买 nike

我是 C++ 的新手,在通过 do while 循环传递数组和计算平均值时遇到了问题。以下是我的代码,有人会指出我正确的方向吗?

#include <iostream>

using namespace std;

int main() {
int marks[5], sum = 0, g, avg=0;
do {
cout << "enter a mark: ";
cin >> marks[g];
if (marks[g] < 0 || marks[g] > 100)
"Invalid Mark, start over";
marks[g++];
} while(g <= 5);
do {
sum += marks[g++];
avg = sum/5;
} while(g <= 5);
cout << "The average of the marks is: " << avg << endl;
}

最佳答案

您从未初始化索引变量g,您应该将其初始化为

int g = 0;

另外我建议你的第一个循环是这样的

while (g < 5)
{
int value;
cout << "enter a mark: ";
cin >> value;

if (value < 0 || value > 100)
{
"Invalid Mark, enter again";
}
else
{
marks[g] = value;
++g;
}
}

同样,最后一个循环是

for {int i = 0; i < 5; ++i)
{
sum += marks[i];
}
avg = sum/5;

关于c++ - do while 循环中的数组值未传递给下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28518598/

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