《ptaC语言编程题-找出总分最高的学生》由会员分享,可在线阅读,更多相关《ptaC语言编程题-找出总分最高的学生(3页珍藏版)》请在金锄头文库上搜索。
1、题目:给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩(0,100区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(le10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。代码:#include struct personint subject3;int avg;char name10,num5;void dataLaunch(st
2、ruct person student,int gradeLength,int nameLength);void sort(struct person student,int adress,int n);void average(struct person student,int n);int main()int adress30;int n,pp;struct person student30;scanf(%d,&n);dataLaunch(student,n,10);average(student,n);sort(student,adress,n);pp=adress0;printf(%s
3、 %s %d,studentpp.name,studentpp.num,studentpp.avg*3);return 0;void dataLaunch(struct person student,int gradeLength,int nameLength)int i,j;for(i=0;igradeLength;i+)scanf(%s %s %d %d %d,studenti.num,studenti.name,&studenti.subject0,&studenti.subject1,&studenti.subject2);void average(struct person stud
4、ent,int n)int i;for(i=0;in;i+)studenti.avg=(studenti.subject0+studenti.subject1+studenti.subject2)/3;void sort(struct person student,int adress,int n)int temp30,temp130;int i,j,demo,flag=0;for(i=0;in;i+)tempi=studenti.avg;temp1i=studenti.avg;while(flag=0)flag=1;for(i=0;itempi)demo=tempi,tempi=tempi+1,tempi+1=demo;flag=0;break;for(i=0;in;i+)for(j=0;jn;j+)if(tempi=temp1j)adressi=j;temp1j=-1;break;