
姓名: 学号: 实习完成日期:2012-4-27
一.实习内容
1、学生信息包括学号、姓名和英语成绩,编写程序,从键盘输入5个学生的信息,并输出英语成绩最高的学生学号、姓名和英语成绩。
2、用结构体数组建立含10个人的通讯录,包括姓名、地址和电话号码,并能从键盘输入一个姓名查找此人的相关信息。
3、假设学生的基本情况包括学号、姓名和3门课成绩,请编程通过键盘为10个学生赋值,并求每一门课程的平均成绩,并按总成绩从高到低排序。
二.实习步骤
1、学生信息包括学号、姓名和英语成绩,编写程序,从键盘输入5个学生的信息,并输出英语成绩最高的学生学号、姓名和英语成绩。
2、用结构体数组建立含10个人的通讯录,包括姓名、地址和电话号码,并能从键盘输入一个姓名查找此人的相关信息。
3、假设学生的基本情况包括学号、姓名和3门课成绩,请编程通过键盘为10个学生赋值,并求每一门课程的平均成绩,并按总成绩从高到低排序。
(2)程序:
#include struct student { char num[10]; char name[10]; int score[3]; float sum; }stu[10]; main() { int i,j,s; float a[3]; struct student temp; printf("请输入10个学生的信息:\\n"); for(i=0;i<10;i++) { printf("第%1d的学号:",i+1); scanf("%s",stu[i].num); printf("姓名:"); scanf("%s",stu[i].name); for(j=0;j<3;j++) { printf("成绩%1d:",j+1); scanf("%d",&stu[i].score[j]); } } for(j=0;j<3;j++) { s=0; for(i=0;i<10;i++) s+=stu[i].score[j]; a[j]=(float)s/4; } for(i=0;i<10;i++) { for(j=0;j<3;j++) stu[i].sum+=stu[i].score[j]; } for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(stu[i].sum temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } for(j=0;j<3;j++) { printf("第%d门课的平均成绩:",j+1); printf("%f\\n",a[j]); } printf("总成绩从高到低是:"); for(i=0;i<10;i++) printf("%f ",stu[i].sum); printf("\\n"); } 3、实习总结 本次实习做起来特别困难,在调试中错误很多,最多达到60几个错误,最后检查都是一些简单但又是细节处出错。说明做题要注意细节,特别是这种需要注意细节的题,要有耐心。本次实习可以说是花了血本,用了10几块前才完成,时间用的太多了。还有很多不熟悉,需要看书,需要多写程序,争取以后有所提高。谢谢老师!
