. . . .
24
.下载可编辑.
. . . .
int num;
char name[10];
int score[3]; //3门课程成绩 };
int main() {
struct student stu[N];//定义含N个元素结构体数组 int i,j,sum,flag;
printf(\请输入学生的学号、和成绩:\\n\
//以下输入N个学生的学号及他们的3门课程的成绩 for (j=0;j scanf(\for (i=0;i<3;i++) scanf(\} //查询总分高于240和任意一科不及格的学生 printf(\满足条件的学生的学号和:\\n\for (j=0;j for (i=0;i<3;i++){ sum+=stu[j].score[i]; if (stu[j].score[i]<60) flag=1; } if ((sum>=240)||(flag==1)) printf(\} return 0; } 12. 采用结构体类型编写一个程序,实现输入三个学生的学号以及数学、语文、英语成绩,然后计算每位学生的总成绩以及平均成绩并按总分由大到小输出成绩表。 【程序代码】 #include struct student // 声明一个结构体类型struct student { int num; int score[3]; //3门课程成绩 int total; float avg; }; int main() { struct student stu[3],temp;//定义含3个元素结构体数组 int i,j,k; .下载可编辑. . . . . 25 .下载可编辑. . . . . //以下输入N个学生的学号及他们的3门课程的成绩 printf(\请输入学生的学号和3门课程的成绩:\\n\for (j=0;j<3;j++) { scanf(\for (i=0;i<3;i++) scanf(\} //以下计算每个学生的总分和平均分 for (j=0;j<3;j++) { stu[j].total=0; for (i=0;i<3;i++) stu[j].total=stu[j].total+stu[j].score[i]; stu[j].avg=(float)(stu[j].total/3.0); } //以下根据score的值进行排序 for (i=0;i<2;i++) { k=i; for (j=i+1;j<3;j++) if (stu[j].score>stu[k].score) k=j;//进行成绩比较 if (k!=i) {//两个元素交换 temp=stu[k]; stu[k]=stu[i]; stu[i]=temp; } } printf(\//以下输出排序后的学生信息 for (i=0;i<3;i++) printf(\ return 0; } 13. 采用共用体类型编写一个程序,实现零件清单的数据的输入和输出。零件数据包含零件编号、零件名称、本厂生产、零件来源等字段,若零件是本厂生产的,则“零件来源” 用车间代码(整型)表示;若零件不是本厂生产的,则“零件来源” 用来源单位(字符数组)填写。 【程序代码】 #include struct { char num [10]; char name[15]; .下载可编辑. . . . . 26 .下载可编辑.
程序的设计基础教程(c语言版)课后答案



