有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。对其进行处理

来源:互联网 发布:纽约大学商学院知乎 编辑:程序博客网 时间:2024/05/17 09:29
// 121213  第七章个习题5.cpp : 定义控制台应用程序的入口点。///*         * Copyright (c) 2012, 烟台大学计算机学院         * All rights reserved.         * 作 者:  刘同宾       * 完成日期:2012 年 12 月 13 日         * 版 本 号:v1.0         *         * 输入描述:有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)* 问题描述: * 程序输出:* 问题分析:略        * 算法设计:略         */#include "stdafx.h"#include<iostream>#include<string>using namespace std;const int n=6;struct student //定义结构体变量{string name;int num;double score[3];double average;}student1[n];int main(){int i,j;for(i=0;i<n;i++){cout<<"请输入第"<<i+1<<"个学生的信息:";cin>>student1[i].num   >>student1[i].name   >>student1[i].score[0]>>student1[i].score[1]>>student1[i].score[2];}double sum=0;//各学生的平均成绩for(i=0;i<n;i++){for(j=0;j<3;j++)        {sum=sum+student1[i].score[j];}student1[i].average=sum/3;sum=0;}//打印出各学生的信息cout<<"输出各学生信息:"<<endl;for(i=0;i<n;i++){cout<<student1[i].num<<"  "   <<student1[i].name<<"  "   <<student1[i].score[0]<<"  "<<student1[i].score[1]<<"  "<<student1[i].score[2]<<"  "   <<student1[i].average      <<endl;}//找出成绩最高的那个学生并输出其信息double max=student1[0].average;int row=0;for(i=0;i<n;i++){if(max<student1[i].average){max=student1[i].average;}row=i;}cout<<"最高分的学生的数据:"<<endl;cout<<student1[row].num<<"  "<<student1[row].name<<"  "<<student1[row].score[0]<<"  "<<student1[row].score[1]<<"  "<<student1[row].score[2]<<"  "    <<student1[row].average<<endl;//各科平均成绩double average1[3];//定义一个装3门课的平均成绩的数组sum=0;for(j=0;j<3;j++){for(i=0;i<n;i++){sum=sum+student1[i].score[j];}average1[j]=sum/n;sum=0;}cout<<endl;for(i=0;i<3;i++)//输出各门课的平均成绩{cout<<"第"<<i+1<<"门课的平均成绩:"<<endl;cout<<average1[i]    <<endl;}return 0;}

原创粉丝点击