好的,我正在尝试使用'while'循环编写一个程序来计算某个测试分数的平均值。我的第一个输入是测试的数量,之后的每个输入都是一组分数(所以说第一个输入是5,然后接下来的5个输入是5个不同的测试分数)。我必须一次输入所有变量,以便找到所有测试分数的总和,然后计算平均值。
我完全坚持如何做到这一点,甚至不知道从哪里开始。
答案 0 :(得分:1)
一些伪代码
total <- 0
N <- input number of tests
i <- 1
while i <= N
data[i] <- input data
total <- total + data[i]
i <- i + 1
avg <- total / N
答案 1 :(得分:0)
为了让你开始,但不要放弃太多......
要按我认为你想要这样做的方式这样做:
首先输入#测试。
Cin >> test_amt;
好的,现在您知道有多少测试。大!所以现在你应该使用while循环来完成每个测试并输入分数输入!我会在这里使用for循环,但如果你想使用while循环,那么肯定。
counter = 0;
while(counter != test_amt-1)
{
cin >> score;
//I would use a vector to store each score.
//this way, you easily know which score matches up with which test
score = 0;
counter++;
}
我希望这可以帮助你入门。如果没有,请告诉我,我很乐意提供更多帮助。
答案 2 :(得分:0)
您可以将分数存储在std::vector中,并使用std::accumulate计算总和。
答案 3 :(得分:0)
通过一个接一个地添加它们来获取单个变量中的所有分数,最后得到平均值。下面我给出了一个提示,可以帮助您使用while
循环。但你可以使用自己的逻辑:
int test_amount, counter = 0, total = 0, score;
int avg;
cout<<"Enter test amount"<<endl;
cin>>test_amount;
while(counter < (test_amount-1))
{
cout<<"Enter the test score"<<endl;
cin>>score;
total=total+score;
counter++;
}
avg = total/test_amount;
如果您希望存储分数,您可能会想到矢量或数组。由于“测试金额”的数量不固定,您还可以使用动态数组,链接列表等。考虑其他方法,发布您自己的代码,Google也会提供各种帮助。