设有一包含10个元素的学生结构体数组,结构体包括学号、姓名、5门课程成绩等分量,利用结构体指针变量操作

设有一包含10个元素的学生结构体数组,结构体包括学号、姓名、5门课程成绩等分量,利用结构体指针变量操作数组,求总成绩最高的学生学号和姓名。... 设有一包含10个元素的学生结构体数组,结构体包括学号、姓名、5门课程成绩等分量,利用结构体指针变量操作数组,求总成绩最高的学生学号和姓名。 展开
 我来答
若以下回答无法解决问题,邀请你更新回答
White_MouseYBZ
2011-10-20 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6658万
展开全部
看看是否有帮助?
#include "stdafx.h"
#include "iomanip.h"
#include "stdio.h"
#include "time.h"

struct STUDENT{
 char xh[20];
 char xm[20];
 int yw;
 int sx;
 int wl;
 int zz;
 int ty;
};

void RecordIn(STUDENT *pstu){//

 for(char i=0;i<10;i++){
  cout<<"请输入学生学号:"<<endl;
  cin>>(pstu+i)->xh;
  cout<<"请输入学生姓名:"<<endl;
  cin>>(pstu+i)->xm;
  cout<<"输入语言成绩:"<<endl;
  cin>>(pstu+i)->yw;
  cout<<"输入数学成绩:"<<endl;
  cin>>(pstu+i)->sx;
  cout<<"输入物理成绩:"<<endl;
  cin>>(pstu+i)->wl;
  cout<<"输入政治成绩:"<<endl;
  cin>>(pstu+i)->zz;
  cout<<"输入体育成绩:"<<endl;
  cin>>(pstu+i)->ty;
 }
 cout<<"录入完毕……"<<endl;
}

void SerchMax(STUDENT *p){

 int total[10]={0,10,2,3,9,4,5,6,7,8},Max=0,iMax;

 for(char i=0;i<10;i++){
  *(total+i)=p->yw+p->sx+p->wl+p->zz+p->ty;
 }
 for(i=0;i<10;i++){printf("%d : ",*(total+i));
  if(*(total+i)>Max){
   Max=*(total+i);
   iMax=i;
  }
 }
 printf("总成绩最高学生学号为:%s  姓名为:%s\n\n",(p+iMax)->xh,(p+iMax)->xm);
}

void main(void){

 STUDENT student[10],*pstu=student;

 RecordIn(pstu);
 SerchMax(pstu);

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式