计算平均值而不添加负等级退出循环[关闭]

Posted

技术标签:

【中文标题】计算平均值而不添加负等级退出循环[关闭]【英文标题】:Calculate average without adding negative grade to exit loop [closed] 【发布时间】:2018-04-12 03:07:14 【问题描述】:

我已经尝试运行这个程序一段时间了。所以基本上它会继续添加负整数,我在计算平均值和输出你输入的分数时用来结束循环,我不希望它这样做。

这是我到目前为止得到的:

#include <iostream>
#include <string.h>
using namespace std;
int main()

    int total=1;
    int grades;
    int count=0;
    int avg;
    float sum;
    do       
        count++;
        cout<<"Enter a grade\n";
        cin>>grades;
        total=total+grades;     
        //total= total+ grades;
        //avg=(total)/count;

    while (grades>=0);  

    cout<<"You enterd"<<" "<<count <<" "<<"grades";
    cout<<endl;
    cout<<"The average of the grades is "<<(total)/count;    
    return 0;

【问题讨论】:

好吧,如果您“不希望它这样做”,那么只需更改您的代码不要这样做。听起来不错。 只使用一段时间而不是使用一段时间 我把 if (grades>=0) 然后输出平均值和计数器,但它仍然在计算平均值时添加负分数 如果只有一种方法可以使代码根据值执行不同的操作。 如果有这将非常有用... 【参考方案1】:

如果你不希望它添加否定,那么添加一个条件语句。

while(grades >= 0)
    count++;
    cout<<"Enter a grade\n";
    cin>>grades;
    if(grades >= 0) total=total+grades; 

或者只是改变循环的顺序

int grades = 0 // initialize grades

while(grades >= 0)
    total += grades; 
    count++;
    cout<<"Enter a grade\n";
    cin>>grades;

【讨论】:

如何计算输入的最高分和输入的最低分?

以上是关于计算平均值而不添加负等级退出循环[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥while循环不退出?

我可以问一些关于 C# 的问题吗? (数组)(循环)[关闭]

合并多个平均值而不计算总计

平均最低最高等级计算机

3取得部门中(所有人的)平均的薪水等级bjpowernode34道SQL题

scratch计算平均分 电子学会图形化编程scratch等级考试三级真题和答案解析2021-9