处理成绩(c++类训练)
时间: 1ms 内存:128M
描述:
小平帮老师处理期末成绩时遇到了问题。他需要计算每个同学的平均成绩,并判断他们是否通过了期末考试不及格成绩(<60),若都通过才能pass,若没通过要说明是哪几科未通过。因此他需要两个函数,一个求平均成绩(不考虑小数),另一个判断是否通过考试,通过输出pass,否则输出未通过的科目。请你们帮帮他!
期末包括Chinese,Math,English三门课程。
输入:
输入学号,并输入三个个科目成绩,三个科目名称分别用Chinese,Math,English来表示
输出:
输出学号,并输出与学号对应的平均成绩,和挂科科目(全过输出一个pass)。
每个输出项占一行,挂科科目每个也占一行。
示例输入:
1001 60 60 60
示例输出:
student:1001
60
pass
提示:
参考答案(内存最优[964]):
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("student:%d\n%d\n",a,(b+c+d)/3);
if(b>=60&&c>=60&&d>=60)printf("pass\n");
if(b<60)printf("Chinese\n");
if(c<60)printf("Math\n");
if(d<60)printf("English\n");
return 0;
}
参考答案(时间最优[0]):
#include<iostream>
using namespace std;
class Student
{
public:
void input()
{
cin>>num>>score1>>score2>>score3;
}
int average()
{
return (score1+score2+score3)/3;
}
void fail()
{
if(score1<60)
cout<<"student:"<<num<<'\n'<<"score1"<<endl;
if(score2<60)
cout<<"score2"<<endl;
if(score3<60)
cout<<"score3"<<endl;
if(score1>=60&&score1>=60&&score1>=60)
cout<<"student:"<<num<<'\n'<<"pass"<<endl;
}
private:
int num;
int score1;
int score2;
int score3;
};
//下面定义成员函数
//用main()函数测试,完成输入输出
int main()
{
Student b1;
b1.input();//输入学生成绩
cout<<b1.average()<<endl;//输出平均成绩
b1.fail();//输出不及格成绩
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。