习题 7.5 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据。

C++程序设计(第三版)谭浩强 习题7.5 个人设计

习题 7.5 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。

代码块:

#include 
#include 
#include 
using namespace std;
struct Student
{
    int num;
    string name;
    float score[3];
    float aver;
};
void input(Student *s, int n);
void average(Student *s, int n);
void high(Student *s, int n);
int main()
{
    Student stu[10], *st=stu;
    input(st, 10);
    average(st, 10);
    high(st, 10);
    system("pause");
    return 0;
}
void input(Student *s, int n)
{
    Student *p;
    int i, j;
    for (p=s, i=0; pcout<<"Please enter No."<1<<" student num, name, score: ";
        cin>>p->num>>p->name;
        for (j=0; j<3; cin>>p->score[j++]);
    }
}
void average(Student *s, int n)
{
    Student *p;
    int i;
    float sum, ave=0.0;
    for (p=s; p0.0;
        for (i=0; i<3; sum+=p->score[i++]);
        p->aver=(sum/3);
        ave+=p->aver;
    }
    cout<<"Average= "<void high(Student *s, int n)
{
    Student *p, *h;
    float high;
    int i;
    for (p=s, h=p, high=p->aver; pif (p->aver>high){
            high=p->aver;
            h=p;
        }
    cout<<"Highest student info: "<num<<' '<name<<' ';
    for (i=0; i<3; cout<score[i++]<<' ');
    cout<aver<

你可能感兴趣的:(C++程序设计,(第三版),谭浩强,课后答案)