处理成绩(c++类训练)

处理成绩(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; 
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注