- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言期末总结
结构体
例10.4 指向结构体数组的指针的应用 #include stdio.hstruct student{ int num;char name[20];char sex;int age;}; struct student stu[3]={{10101,″Li Lin″,′M′,18},{10102,″Zhang Fun″,′M′,19},{10104,″WangMing″,′F′,20}};void main(){ struct student *p; printf(″No. Name sex age\n″); for(p=stu;p<stu+3;p++) printf(″%5d %-20s %2c %4d\n″,p-num,p-name,p-sex,p-age); }
运行结果:
No. Name sex age
10101 LiLin M 18
10102 Zhang Fun M 19
10104 WangMing F 20
例10.5 有一个结构体变量stu,内含学生学号、姓名和3门课程的成绩。要求在main函数中赋予值,在另一函数print中将它们输出。今用结构体变量作函数参数。
#include stdio.h#include string.h#define FORMAT ″%d\n%s\n%f\n%f\n%f\n″struct student{ int num; char name[20]; float score[3]; };#include stdio.h#include string.h#define FORMAT ″%d\n%s\n%f\n%f\n%f\n″struct student{ int num; char name[20]; float score[3]; };void main(){ void print(struct student); struct student stu; stu.num=12345; strcpy(stu.name,″LiLin″); stu.score[0]=67.5; stu.score[1]=89; stu.score[2]=78.6; print(stu); }void print(struct student stu){ printf(FORMAT,stu.num,stu.name, stu.score[0],stu.score[1],stu.score[2]); printf(″\n″);}
运行结果:
12345
Li Li
67.500000
89.000000
78.599998
例10.6 将上题改用指向结构体变量的指针作参数。 #include stdio.hstruct student{ int num; char name[20]; float score[3]; }stu={12345, ″LiLi″,67.5,89,78.6};void main(){ void print(struct student *); print(stu);} void print(struct student *p) { printf(FORMAT,p-num,p-name,p-score[0],p-score[1],p-score[2]); printf(″\n″);}
运行结果:
12345
Li Li
67.500000
89.000000
78.599998
有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程总成绩、平均分数)。
10.1:# include stdio.h
struct student
{ char num[6];
char name[8];
int score[3];
float avr;
}stu[10];
main()
{ int i,j,max=0,maxi=0,sum=0;
float average=0;
for(i=0;i10;i++)
{ scanf(“%s%s”,stu[i].num,stu[i].name);
for(j=0;j3;j++)
scanf(“%d”,stu[i].score[j]);
文档评论(0)