资源描述:
《C语言程序设计(第3版)何钦铭 颜 晖 第9章 结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章结构【练习9-1】定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个部分。解答:structcomplex{floatreal;floatimaginary;};【练习9-2】人的出生日期由年、月、日组成,请在例9-1中的通讯录结构中增加一个成员:出生日期,用嵌套定义的方式重新定义该结构类型。解答:structdate{intyear;intmonth;intday;};structstudent{intnum;charname[10];structdatebirthday;intcomputer,english,math;doubleaverage;};【练习9-3】例9-
2、1中,如果要计算的是三门课程的课程平均成绩,应该如何改写程序?解答:#includestructstudent{intnum;charname[10];intcomputer,english,math;doubleaverage;};intmain(void){inti,n;doublemath_sum,english_sum,computer_sum;structstudents1;printf("Inputn:");scanf("%d",&n);printf("Inputthestudent'snumber,nameandcoursescores:");math_
3、sum=english_sum=computer_sum=0;for(i=1;i<=n;i++){printf("No.%d:",i);scanf("%d%s%d%d%d",&s1.num,s1.name,&s1.math,&s1.english,&s1.computer);math_sum+=s1.math;english_sum+=s1.english;computer_sum+=s1.computer;}printf("math_ave:%.2lfenglish_ave:%.2lfcomputer_ave:%.2lf",math_sum/n,english_sum/n,c
4、omputer_sum/n);return0;}【练习9-4】定义一个包含5名学生信息的结构数组,并对该结构数组的所有元素进行初始化。解答:structstudent{intnum;charname[10];intcomputer,english,math;};structstudents[5]={{30101,"张一",69,75,84},{30132,"李二",80,85,90},{40231,"王三",71,91,74},{40754,"赵四",65,76,87},{50426,"刘五",81,92,73}};【练习9-5】参考例9-2,输入并保存10个学生的成绩信息,分别输出平均成
5、绩最高和最低的学生信息。解答:#includestructstudent{intnum;charname[10];intcomputer,english,math;doubleaverage;};intmain(void){inti,n,max,min;structstudentstudents[50];printf("Inputn:");scanf("%d",&n);for(i=0;i6、intf("name:");scanf("%s",&students[i].name);printf("mathscore:");scanf("%d",&students[i].math);printf("englishscore:");scanf("%d",&students[i].english);printf("computerscore:");scanf("%d",&students[i].computer);students[i].average=(students[i].math+students[i].english+students[i].computer)/3.0;}ma
7、x=min=0;for(i=1;istudents[i].average)min=i;}printf("max_average_infortmation:");printf("number:%d,name:%s,math:%d,english:%d,c