问题标题: 酷町堂:请问,2429题怎么写

0
0
已解决
项想
项想
初级守护
初级守护

2429   密室逃脱得分统计                                                经验值:0

题目描述 Description

酷町喵某天去玩密室逃脱游戏,里面有若干个关卡,给你若干个以负数为结尾的成绩,请你帮助酷町喵计算出他的平均得分,如果得分不低于80分则输出“excellent”,否则输出“good”。

输入描述 Input Description

若干个以负数为结尾的成绩

输出描述 Output Description

如果得分不低于80分则输出“excellent”,否则输出“good”

样例输入 Sample Input

77 98 97 97 79 86 72 98 -3

样例输出 Sample Output

excellent

 

 

  • #include<iostream>
  • using namespace std;
  • int a=1,cnt,sum;
  • int main(){
  • while(a>=0){
  • cin>>a;
  • if(a>=80){
  • cout<<"excellent";
  • }
  • else{
  • cout<<"good";}
  • }
  • return 0;
  • }

 

 

 

 

请问这题我哪里错了

谢谢各位


0
已采纳
丁博扬
丁博扬
中级天翼
中级天翼

我觉得你这错的比较离谱

if和else肯定得放到while后面

不然就会输出很多个excellent和good了

代码如下:

  • do{
  • 累加器=累加器+a;
  • 计数器++;
  • cin>>a;
  • }while(a大于等于0);
  • 累加器=累加器/计数器;
  • 如果(累加器大于等于80)
  • 输出"excellent";
  • 否则
  • 输出"good";

在while循环前和还有一个输入a

计数器和累加器初始值为0

0
林熙彭
林熙彭
资深守护
资深守护

是这样吗?代码如下:

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
    int a=1,cnt=0,sum=0;
    cin>>a;    
    do{
        sum+=a;
        cnt++;    
    }
    while(a>=0);
        if(sum>=80){
            cout<<"excellent";
        }
        else{
            cout<<"good";
        }
    return 0;
}

林熙彭在2021-03-07 13:49:39追加了内容

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
    int a=1,cnt=0,sum=0;
    cin>>a;    
    do{
        sum+=a;
        cnt++;
        cin>>a;    
    }while(a>=0);
    sum+=cnt;
        if(sum>=80){
            cout<<"excellent";
        }
        else{
            cout<<"good";
        }
    return 0;
}

0
0
我要回答