结构体
2013-11-21 10:16
609 查看
D
输入四个人的年龄和姓名,排序后,按年龄,从小到大输出人员年龄及其姓名
假如输入
A.
B.
然后输出平均分最高的学生之姓名及数学、英语成绩。
[b]C[/b]
输入四个人的年龄和姓名,排序后,按年龄,从小到大输出人员年龄及其姓名
假如输入
30 aaa 23 bbb 15 ccc 32 ddd
应当输出
15 ccc 23 bbb 30 aaa 32 ddd
#include<stdio.h> struct person{ int age; char name[10]; }; int main(void) { int i,index,j; struct person persons[4],temp; for(i=0;i<4;i++) { scanf("%d",& persons[i].age); printf(""); scanf("%s",& persons[i].name); } for(i=0;i<3;i++) { index=i; for(j=i+1;j<4;j++) if( persons[j].age< persons[index].age) index=j; temp= persons[index]; persons[index]= persons[i]; persons[i]=temp; } for(i=0;i<4;i++) printf("%d %s\n", persons[i].age, persons[i].name); return 0; }
A.
题目描述
输入10个学生的学号、姓名和成绩,计算并输出平均分,再按照从高分到低分的顺序输出他们的信息。输入要求
输入10个学生的学号、姓名和成绩。学号和成绩用整数表示,姓名是一个长度不超过19个字符的字符串。输出要求
输出平均分,再按照从高分到低分的顺序输出10个学生的信息。假如输入
101 aaa 80 102 bbb 90 103 ccc 70 104 ddd 60 105 eee 80 106 fff 60 107 ggg 78 108 hhh 80 109 iii 68 110 jjj 80
应当输出
The average: 74 The student score: 102 bbb 90 110 jjj 80 101 aaa 80 108 hhh 80 105 eee 80 107 ggg 78 103 ccc 70 109 iii 68 106 fff 60 104 ddd 60
#include<stdio.h> struct student{ int num; char name[20]; int score; }; struct student stud[10]; int main(void) { int i,j,max,sum=0; struct student temp; for(i=0;i<10;i++){ scanf("%d",&stud[i].num); scanf("%s",&stud[i].name); scanf("%d",&stud[i].score); sum=sum+stud[i].score ; } for(i=0;i<9;i++) { max=i; for(j=i+1;j<10;j++) if(stud[j].score <stud[max].score) max=j; temp=stud[max]; stud[max]=stud[i]; stud[i]=temp; } printf("The average: %d\n",sum/10); printf("The student score:\n"); for(i=9;i>=0;i--) printf("%d %s %d\n",stud[i].num ,stud[i].name ,stud[i].score ); return 0; }
B.
题目描述
输入某班5位学生的姓名及数学、英语成绩,计算每位学生的平均分;然后输出平均分最高的学生之姓名及数学、英语成绩。输入要求
输入某班5位学生的姓名及数学、英语成绩。姓名是一个长度不超过19个字符的字符串,成绩用整数表示。输出要求
输出每名学生的姓名和平均分,平均分用浮点数表示,输出时精确到小数点后1位。然后输出平均分最高的学生之姓名及数学、英语成绩。
假如输入
aaa 61 88 bbb 63 89 ccc 64 82 ddd 85 66 eee 66 85
应当输出
aaa 74.5 bbb 76.0 ccc 73.0 ddd 75.5 eee 75.5 The max score: bbb 63 89
#include<stdio.h> struct student{ char name[20]; int math; int English; float average,sum; }; int main(void) { int i,max; struct student stud[5]; for(i=0;i<5;i++){ scanf("%s",&stud[i].name); scanf("%d",&stud[i].math); scanf("%d",&stud[i].English); stud[i].sum=stud[i].math+stud[i].English; stud[i].average =stud[i].sum/2; } for(i=0;i<5;i++) printf("%s %.1f\n",stud[i].name ,stud[i].average); max=0; for(i=1;i<5;i++){ if(stud[max].average<stud[i].average) max=i; } printf("The max score: %s %d %d\n",stud[max].name ,stud[max].math ,stud[max].English ); return 0; }
[b]C[/b]
题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及总分最高分的学生的数据(包括学号、姓名、3门课成绩)输入要求
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。输出要求
各门课的平均成绩 总分最高分的学生的数据(包括学号、姓名、3门课成绩)假如输入
2 1 blue 90 80 70 2 clan 80 70 60
应当输出
85 75 65 1 blue 90 80 70
#include<stdio.h> struct student { int num; char name[10]; int x,y,z; int sum; }; struct student stud[10],temp; int main(void) { int N; scanf("%d\n",&N); int i,j,max; int sum1,sum2,sum3; int average1,average2,average3; sum1=sum2=sum3=0; for(i=0;i<N;i++){ scanf("%d %s %d %d %d",&stud[i].num ,&stud[i].name ,&stud[i].x ,&stud[i].y ,&stud[i].z ); sum1=sum1+stud[i].x ; sum2=sum2+stud[i].y ; sum3=sum3+stud[i].z ; stud[i].sum=stud[i].x+stud[i].y+stud[i].z; } average1=sum1/N; average2=sum2/N; average3=sum3/N; printf("%d %d %d\n",average1,average2,average3); for(i=0;i<N-1;i++){ max=i; for(j=i+1;j<N;j++) if(stud[j].sum<stud[max].sum) max=j; temp=stud[max]; stud[max]=stud[i]; stud[i]=temp; } printf("%d %s %d %d %d\n",stud[i].num,stud[i].name,stud[i].x,stud[i].y,stud[i].z); return 0; }
相关文章推荐
- 鲁迅《兩地書》
- 推荐一款好用的jquery弹出层插件——wbox
- spring.net 到底有什么好处?我还是没找到它好处?
- [LeetCode] [编程珠玑:变位词]Anagrams
- iOS开发 UIWebView JS交互
- PHPMailer发邮件
- 终于要开始学习SSH框架了
- cacti解决监控千兆取值不准问题的方法
- fling
- vim 正则表达式 很强大
- conky配置略懂点
- 我的ViewGroup
- GPS-Graph Processing System每台机器运行多个Task经验总结(二)
- 06 DW.NET在C#中应用的特殊注意事项
- Eclipse中如何恢复已删除文件
- 利用CryptoStream进行加密解密
- Activity的四种launchMode
- 在线分割、合并PDF文件网站
- SQLServer2005触发器提示其他会话正在使用事务的上下文的解决方法
- ubuntu与windows共享文件夹(samba)