使用while循环计算平均测试分数

时间:2014-02-07 08:14:54

标签: c++

好的,我正在尝试使用'while'循环编写一个程序来计算某个测试分数的平均值。我的第一个输入是测试的数量,之后的每个输入都是一组分数(所以说第一个输入是5,然后接下来的5个输入是5个不同的测试分数)。我必须一次输入所有变量,以便找到所有测试分数的总和,然后计算平均值。

我完全坚持如何做到这一点,甚至不知道从哪里开始。

4 个答案:

答案 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也会提供各种帮助。