- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、 实验内容和原理
1. 编写一个函数print,输出一个学生的成绩数组,该数组中有5个学 生的数据记录,每个记录包括num、name、score[3],用主函数输 入这些记录,用print函数输出这些记录。 2. 设有若干个人员的数据,其中有学生和老师。学生数据包括:姓 名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性 别、职业、职务。现要求把它们放在同一表格中,见图1。如果job 项是t(教师),则第5项为position(职务)。如果job项是s,则 第5项为class(班级)。要求输入人员的数据,然后再输出。为简 化起见,只设两个人(一个学生,一个教师)。 num name sex job class position 101 102 Li Wang f m s 501
is:student %6.2f,
第四题
4. #include"string.h" main()
{ struct person {char name[10]; int count; }; struct person candi[3]={"li",0,"zhang",0,"wang",0}; int i,j; char name[10]; printf("输入选票:\n"); for(i=1;i<=10;i++) {scanf("%s",name); for(j=0;j<3;j++) if(strcmp(name,candi[j].name)==0)candi[j].count++; } printf("\n"); for(i=0;i<3;i++) printf("%5s:%d\n",candi[i].name,candi[i].count);}
printf("NO.:"); scanf("%s",stu[i].num); printf("name:"); scanf("%s",stu[i].name); for(j=0;j<3;j++) {printf("score%d:",j+1); scanf("%d",&stu[i].score[j]);} printf("\n"); }print(stu); } void print(struct student stu[6]) {int i,j; printf("\nNO.name score1 score2 score3\n"); for(i=0;i<5;i++) {printf("%5s%10s",stu[i].num,stu[i].name); for(j=0;j<3;j++) printf("%9d",stu[i].score[j]); printf("\n");} }
福建农林大学实验报告
系(教研室): 信息与机电工程系 专业: 机械设计制造及其自动化 年级: 2014 实验课程: C语言程序设计 姓名: 学号: 实验室号:B703 计算机号: 79 实验时间: 2015.11.24 指导教师签字: 成 绩:
实验7:结构体和共用体 1、 实验目的和要求
1.掌握结构体类型变量的定义和使用 2.掌握结构体类型数组的概念和应用 3.掌握共用体的概念与使用
第三题
3. #include<stdio.h> #include<stdio.h> #define N 5 struct student { char num[6]; char name[8]; float score[3]; float avr; }stu[N]; int main () {int i,j,maxi; float sum,max,average; for(i=0;i<N;i++) {printf("input scores of student %d:\n",i+1); printf("NO.:"); scanf("%s",stu[i].num); printf("name:"); scanf("%s",stu[i].name);
3、 实验环境
1. 硬件:PC机; 2. 软件:Windows操作系统、Visual C++ 6.0 。
4、 算法描述及实验步骤
参照实验辅导书
5、 调试过程
详细记录程序在调试过程中出现的问题及解决方法
6、 实验结果 第一题
ห้องสมุดไป่ตู้
.
第三题
第四题
4.
七.总结
对上机实验结果进行分析、上机的心得体会及改进意见。
for(j=0;j<3;j++) {printf("score %d:",j+1); scanf("%f",&stu[i].score[j]); } } average=0; max=0; maxi=0; for(i=0;i<N;i++) {sum=0; for(j=0;j<3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; average+=stu[i].avr; if(sum>max) {max=sum; maxi=i; } } average=average/N; printf(" NO. name score score2 score3 average\n"); for(i=0;i<N;i++) { printf("%5s%10s",stu[i].num,stu[i].name); for(j=0;j<3;j++) printf("%9.2f",stu[i].score[j]); printf(" %8.2\n",stu[i].avr); } printf("average=%5.2f\n",average); printf("The highest score %s,%s\n",stu[maxi].num,stu[maxi].name); printf("his score are:.%6.2f, %6.2f,,average:%5.2f./n",stu[maxi].score[0] ,stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr); }
t prof 图1 3. 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键 盘输入5个学生数据,要求输出3门课总平均成绩,以及最高分的学
生的数据(包括学号、姓名、3门课的成绩、平均分数)。 4. 对候选人得票的统计程序。设有三个候选人,每次输入一个得票的 候选人的名字,要求最后输出各人得票结果。设有10人投票。
附录: 第一题
#include<stdio.h> #define N5 struct student {char num[6]; char name[8]; int score[4]; }stu[5]; void main() {void print(struct student stu[6]); int i,j; for(i=0;i<5;i++) {printf("\n input score of student%d:\n",i+1);