OJ嘻唰唰第二批之成绩统计

本文介绍了一个简单的C++程序,该程序定义了一个学生类,用于存储学生的学号及三门课程的成绩,并实现了计算平均分及判断是否通过的功能。文章讨论了程序中出现的问题及其解决办法。

问题及代码

#include <iostream>
#include<string>
using namespace std;
class Student
{
    string number;
    int c;
    int m;
    int e;
public:
    Student(string n="1231",int a=89,int b=89,int c=89):number(n),c(a),m(b),e(c){}
    void averag()
    {
        cout<<"student:"<<number<<endl;
        cout<<(c+m+e)/3<<endl;
    }
    void pass()
    {
        if(c>59&&m>59&&e>59)
            cout<<"pass"<<endl;
        else
        {
            if(c<60)
                cout<<"Chinese"<<endl;
            if(m<60)
                cout<<"Math"<<endl;
            if(e<60)
                cout<<"English"<<endl;
        }
    }
};
int main()
{
    string name;
    int c,m,e;
    cin>>name>>c>>m>>e;
    Student s(name,c,m,e);
    s.averag();
    s.pass();
    return 0;
}


明明就是大小写的错误,它老是说什么

1c1< student:1001---> 10013c3< pass\ 文件尾没有 newline 字符---> pass

百度了说是什么少行,有又加  '\ r',  又加  endl, 结果还是错。。。。。

虽然说到底是我的错,但是原谅我我还是想抽它!!这小孩,不打不行。。

但是我还是感谢它让我有了百度的意识——虽然这次没用

### 关于东华大学OJ平台上C++成绩统计的方法实现 #### 高于平均分的人数统计 对于统计高于平均分人数的问题,可以采用如下所示的代码逻辑来解决。此程序通过循环读取输入的成绩直到遇到负数值为止,在这过程中计算总分数并记录有效成绩的数量以便后续求得平均分;之后再次遍历这些成绩数据找出所有超过该平均线的学生数目最终输出这一统计数据[^1]。 ```cpp #include<iostream> using namespace std; int main() { double sum = 0; double score[42]; double ave = 0; int i, cnt = 0; for (i = 0;; i++) { cin >> score[i]; if (score[i] < 0) break; sum += score[i]; } ave = sum / i; for (int k = 1; k <= i; k++) { if (score[k - 1] > ave) cnt++; } cout << cnt; return 0; } ``` #### 数学成绩最高者的信息展示 当涉及到寻找具有最高数学成绩学生的名字及其具体得分情况时,则需先定义结构体用于存储每位同学的相关信息(如姓名和两门课程的成绩),接着利用数组保存多名学生的资料,并在接收完全部输入后执行比较操作以确定哪位学员拥有最佳表现,最后按照指定格式打印出相应结果[^2]。 ```cpp #include<iostream> #include<string> struct Student { string name; int mathScore; }; bool compare(const Student& s1, const Student& s2){ return s1.mathScore > s2.mathScore; } void printTopMathStudent(Student students[], int n){ sort(students, students+n, compare); cout<<students[0].name<<" "<<students[0].mathScore; } int main(){ Student stuList[]={ {"John",88},{"Jack",80},{"Marry",76}, {"Kite",55},{"Jane",56} // 假设这里只有五名学生作为例子 }; int size=sizeof(stuList)/sizeof(stuList[0]); printTopMathStudent(stuList,size); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值