sdut 3-5 学生成绩统计

3-5 学生成绩统计

Time Limit: 1000MS Memory limit: 65536K

题目描述

通过本题目练习可以掌握对象数组的用法,主要是对象数组中数据的输入输出操作。

设计一个学生类Student它具有私有的数据成员:学号、姓名、数学成绩、英语成绩、计算机成绩;具有公有的成员函数:求三门课总成绩的函数int
sum();求三门课平均成绩的函数double average();输出学生基本信息、总成绩和平均成绩的函数void
print();设置学生数据信息的函数voidset_stu_info(int
n,char *p,int m,int e,int c)。

请编写主函数,建立学生对象数组,从键盘输入一组学生数据,输出学生的成绩统计表:

stuID姓名数学
英语计算机
总成绩平均成绩

001 xxx 90 85 95 270 90.0

002 yyy 95 98 92 285 95.0

输入

输入数据有5行,代表5个学生的信息。

每行有5个数据,数据间用一个空格分隔,分别代表学生的学号、姓名、数学成绩、英语成绩和计算机成绩。除了姓名是符号串外,其他均为整型数据,数据在int类型范围内。

输出

输出数据一共有7行。

第一行输出提示信息“Input the messages of five students(StudentID Name Math
English Computer )”

第二行输出一个空行,进行输入输出间的间隔

第三行输出表头“StuID Name Math Eng Com Total Average”,这一行有7个数据,数据间用制表符’\t’分隔,分别代表学生的学号、姓名、数学成绩、英语成绩、计算机成绩、总成绩和平均成绩。其中平均成绩为实型数据,保留1位小数。

第4-8行分别输出5个学生的相关数据。每个数据占一个制表符的空间。格式同上。

示例输入

1001 Andy 89 90 93
1002 Mary 93 95 98
1003 Luis 90 85 98
1004 Sam 91 95 98
1005 Lily 87 98 99

示例输出

Input the messages of five students(StudentID Name Math English Computer )

StuID	Name	Math	Eng	Com	Total	Average
1001	Andy	89	        90	93	         272	90.7
1002	Mary	93	        95	98   	         286        95.3
1003	Luis	        90	        85   98	         273	91.0
1004	Sam	        91	        95	98	         284        94.7
1005	Lily	        87	        98	99	         284        94.7

提示

来源

黄晶晶

示例程序

#include <iostream>
#include<cstdio>//c语言输入输出头文件
#include<cstring>//字符串操作头文件

using namespace std;
//定义一个学生类
class student
{
private://私有
    int sno,math,english,computer;
    char name[100];

public://公有
    void input(int id, char *s, int a, int b, int c)//输入函数   注意:别忘了*号
    {
        sno=id;
        strcpy(name,s);//字符串复制
        math=a;
        english=b;
        computer=c;
    }

    void output()//输出函数
    {
        printf("%d\t%s\t%d\t%d\t%d\t%d\t%.1f\n",sno,name,math,english,computer,math+english+computer,(math+english+computer)*1.0/3.0);
    }
};

int main()//主函数
{
    int i;
    int sno,math,english,computer;
    char name[100];
    student stu[5];
    for(i=0; i<5; i++)//输入五个学生信息
    {
        cin>>sno>>name>>math>>english>>computer;
        stu[i].input(sno,name,math,english,computer);
    }
    cout<<"Input the messages of five students(StudentID Name Math English Computer )"<<endl<<endl;
    cout<<"StuID"<<"\t"<<"Name"<<"\t"<<"Math"<<"\t"<<"Eng"<<"\t"<<"Com"<<"\t"<<"Total"<<"\t"<<"Average"<<endl;
    for(i=0; i<5; i++)//输出五个学生信息
    {
        stu[i].output();
    }
    return 0;
}

下面别人的:

#include <iostream>
#include<stdio.h>
using namespace  std;
class student
{
public:

    int sum();
    double average();
    void print();
    void set();
private:

    int num;
    char name[20];
    int math;
    int eng;
    int com;
};
int student::sum()
{
    return (math+eng+com);
}
double student::average()
{
    return ((math+eng+com)/3.0);
}
void student::print()
{
    cout<<num<<'\t'<<name<<'\t'<<math<<'\t'<<eng<<'\t'<<com<<'\t'<<sum()<<'\t';
    printf("%.1f",average());
    cout<<endl;
}
void student::set()
{
    cin>>num>>name>>math>>eng>>com;
}
int main()
{
    int i;
    student stu[5];
    for(i=0; i<=4; i++)
        stu[i].set();
    cout<<"Input the messages of five students(StudentID Name Math English Computer )"<<endl;
    cout<<endl;
    cout<<"StuID"<<'\t'<<"Name"<<'\t'<<"Math"<<'\t'<<"Eng"<<'\t'<<"Com"<<'\t'<<"Total"<<'\t'<<"Average"<<endl;
    for(i=0; i<=4; i++)
        stu[i].print();
    return 0;
}

/**************************************
	Problem id	: SDUT OJ E
	User name	: zxw130219
	Result		: Accepted
	Take Memory	: 556K
	Take Time	: 0MS
	Submit Time	: 2014-09-30 08:43:56
**************************************/
时间: 2024-10-10 10:23:13

sdut 3-5 学生成绩统计的相关文章

3-5 学生成绩统计

 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目练习可以掌握对象数组的用法,主要是对象数组中数据的输入输出操作. 设计一个学生类Student 它具有私有的数据成员:学号.姓名.数学成绩.英语成绩.计算机成绩:具有公有的成员函数:求三门课总成绩的函数int sum(); 求三门课平均成绩的函数 double average(); 输出学生基本信息.总成绩和平均成绩的函数 void print(): 设置学生数据信息的函数void set_

学生成绩统计

package 成绩; public class Grade {    private double chinese;   //语文成绩    private double math;    //数学成绩    private double english;  //英语成绩         public Grade(double  chinese, double math, double english) //构造函数    {        this.chinese= chinese;    

学生成绩统计管理

package student_control class Grade {    private double english;    private double math;    private double chinese;         public Grade(double english, double math, double chinese) {        this.english = english;        this.math = math;        thi

Hadoop MapReduce编程 API入门系列之统计学生成绩版本1(十七)

不多说,直接上代码. 代码 package zhouls.bigdata.myMapReduce.ScoreCount; import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;

学生各门课程成绩统计SQL语句大全

学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 语文 70 2 李四 英语 80 2 创建表 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[stuscore]( [name] [varchar](50) COLLATE

班主任好帮手之统计学生成绩

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

sql 统计 关于学生成绩

文章来源于:http://www.cnblogs.com/tenghoo/archive/2007/06/11/779240.html 学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 语文 70 2 李四 英语 80 2 创建表 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_

scala统计学生成绩

scala统计学生成绩 学生的成绩清单格式如下所示,第一行为表头,各字段意思分别为学号.性别.课程名 1.课程名 2 等,后面每一行代表一个学生的信息,各字段之间用空白符隔开 Id gender Math English Physics 301610 male 80 64 78 301611 female 65 87 58 ... 给定任何一个如上格式的清单(不同清单里课程数量可能不一样),要求尽可能采用函 数式编程,统计出各门课程的平均成绩,最低成绩,和最高成绩:另外还需按男女同学分开, 分别

使用“结构”统计学生成绩

设学生信息包括学号,姓名和五门功课的成绩,要求编写输入输出 学生信息的函数.在输入一组学生信息后,以学生成绩的总分从高 到低顺序输出学生信息. 这个相对来说比较简单,可以创建一个学生的结构体,结构体里面有三个成员:学号,姓名和五门功课的成绩.下面请看一下我的整体代码.这个思路也比较简单,主要是为了练习使用结构体. #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 200 #defin