- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 结构和共用体
struct Student max(struct Student stu[]) {int i,m=0; for(i=0;iN;i++) if (stu[i].averstu[m].aver) m=i; return stu[m]; }? stu[0] stu[1] stu[2] stu 10101 Li 78 89 98 88.33 10103 Wang 98.5 87 69 84.83 10106 Sun 88 76.5 89 84.5 最大 返回 void print(struct Student stud) { printf(\n成绩最高的学生是:\n); printf(学号:%d\n姓名:%s\n 三门课成绩:%5.1f,%5.1f,%5.1f\n 平均成绩:%6.2f\n”, stud.num, stud.name,stud.score[0], stud.score[1],stud.score[2],stud.aver); } stud 10101 Li 78 89 98 88.33 10103 Wang 98.5 87 69 84.83 10106 Sun 88 76.5 89 84.5 num name score aver stu[0] stu[1] stu[2] 以上3个函数的调用,情况各不相同: 调用input函数时,实参是指针变量,形参是结构体数组,传递的是结构体元素的地址,函数无返回值。 调用max函数时,实参是指针变量,形参是结构体数组,传递的是结构体元素的地址,函数的返回值是结构体类型数据。 调用print函数时,实参是结构体变量,形参是结构体变量,传递的是结构体变量中各成员的值,函数无返回值。 int main() { int i,j; char leader_name[20]; for (i=1;i=10;i++) { scanf(“%s”,leader_name); for(j=0;j3;j++) if(strcmp(leader_name, leader[j].name)==0) leader[j].count++; } for(i=0;i3;i++) printf(%5s:%d\n“,leader[i].name, leader[i].count); return 0; } 说明: (1)定义结构体数组一般形式是 ① struct 结构体名 {成员表列} 数组名[数组长度]; ② 先声明一个结构体类型,然后再用此类型定义结构体数组: 结构体类型 数组名[数组长度]; 如: struct Person leader[3]; 说明: (2)对结构体数组初始化的形式是在定义数组的后面加上: ={初值表列}; 如: struct Person leader[3]= {Li,0,Zhang,0,Fun,0}; 11.2.2 结构体数组的应用举例 例11.4 有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。 解题思路:用结构体数组存放n个学生信息,采用选择法对各元素进行排序(进行比较的是各元素中的成绩)。 #include stdio.h struct Student { int num; char name[20]; float score; }; int main() { struct Student stu[5]={{10101,Zhang,78 }, {10103,Wang,98.5}, {10106,Li, 86 }, {10108,“Ling”, 73.5}, {10110,“Fun”, 100 } }; struct Student temp; const int n = 5 ; int i,j,k; 常变量 若人数变为30 30 #include stdio.h struct Student { int num; char name[20]; float score; };
您可能关注的文档
- 第10课 秦末民起义.ppt
- 第10课-苏联改革和解体.ppt
- 第10课《充满力的书画和戏曲艺术》课件(人教历史必修3).ppt
- 第10课《我的叔于勒》.ppt
- 第10课文字与学课件(华师版九上).ppt
- 第10课时·电平衡、溶解平衡及溶液酸碱性.ppt
- 第10课秦朝的亡和西汉王朝的建立.ppt
- 第10课资本主时代的曙光(文艺复兴部分)课件[人教课标版历史].ppt
- 第10部分(补内容) 宽带接入网术.ppt
- 第11章 据库.ppt
- 2025至2030外科吻合器行业项目调研及市场前景预测评估报告.docx
- 2025至2030国内非处方药行业调研及市场前景预测评估报告.docx
- 2025至2030医疗机械细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国新能源接入行业市场发展现状及投资前景报告.docx
- 2025至2030全球及中国在线课程软件行业调研及市场前景预测评估报告.docx
- 2025至2030办公协同软件行业发展分析及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国扁平磁带行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030血管造影机产业行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030全球及中国准分子激光行业调研及市场前景预测评估报告.docx
- 2025-2030中国黄铜棒行业市场现状供需分析及投资评估规划分析研究报告.docx
原创力文档


文档评论(0)