- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例7.8 利用函数实现5个学生数学成绩的输入、排序并输出。 #include Stdio.h struct Test{ char name[10]; int score; }; void input(struct Test T[],int n); void output(struct Test T[],int n); void sort(struct Test T[],int n); void main(){ struct Test Math[5]; input(Math,5); sort(Math,5); output(Math,5); } 请输入第1个学生的姓名: 李平? 请输入第1个学生的成绩: 78? 请输入第2个学生的姓名: 刘方? 请输入第2个学生的成绩: 64? 请输入第3个学生的姓名: 王雷? 请输入第3个学生的成绩: 92? 请输入第4个学生的姓名: 赵丽? 请输入第4个学生的成绩: 56? 请输入第5个学生的姓名: 张伟? 请输入第5个学生的成绩: 98? 第1名 姓名:张伟 成绩:98 第2名 姓名:王雷 成绩:92 第3名 姓名:李平 成绩:78 第4名 姓名:刘方 成绩:64 第5名 姓名:赵丽 成绩:56 /17 // 以下函数实现数据输入 void input(struct Test T[],int n){ int i; for(i=0;in;i++){ printf(请输入第%d个学生的姓名: ,i+1); scanf(%s,T[i].name); printf(请输入第%d个学生的成绩: ,i+1); scanf(%d,T[i].score); } } // 以下函数实现数据输出 void output(struct Test T[],int n){ int i; for(i=0;in;i++){ printf(第%d名 ,i+1); printf(姓名:%s\t成绩:%d\n,T[i].name,T[i].score); } } // 以下函数实现数据排序 void sort(struct Test T[],int n){ struct Test t; //结构体t是交换法中的临时量 int i,j; for(i=0;in-1;i++) for(j=i+1;jn;j++) if(T[i].scoreT[j].score) t=T[i],T[i]=T[j],T[j]=t; } 7.4.2 返回结构体的函数 返回结构体数据的函数 例7.9 输入5个学生数学成绩,查找并输出其中分数最高的学生的信息。 #include Stdio.h struct Test{ char name[10]; int score; }; void input(struct Test T[],int n); struct Test findmax(struct Test T[],int n); void main(){ struct Test Math[5],Maxmath; input(Math,5); //调用函数查找最高分学生 Maxmath=findmax(Math,5); printf(最高分学生-----姓名:%s\t成绩:%d\n”,Maxmath.name,Maxmath.score); } /*以下函数实现数据输入*/ void input(struct Test T[],int n){ //同上例代码省略 ……… } /*以下函数实现查找最高分学生*/ struct Test findmax(struct Test T[],int n){ int i,j=0; int max=T[0].score; for(i=1;in;i++){ if(T[i].scoremax){ max=T[i].score; //记录最高分学生在数组中的下标 j=i; } } return T[j]; } 例7.10 输入5个数学成绩,查找并输出其中分数最高学生的信息。 #include Stdio.h struct Test{ char name[10]; int score; }; void input(struct Test T[],int n); struct Test *findmax(struct Test *p,int n); void main(){ struct Test Math[5]; struct T
文档评论(0)