《内蒙古工业大学c语言 期末实验报告》由会员分享,可在线阅读,更多相关《内蒙古工业大学c语言 期末实验报告(15页珍藏版)》请在金锄头文库上搜索。
1、内蒙古工业大学信息工程学院实 验 报 告课程名称: 高级语言程序设计(C)实验名称:循环、数组、函数和结构体程序设计实验类型: 验证性 综合性 设计性实验室名称: 校计算中心班级: 学号:1姓名: 组别:(本项填机号)同组人: 成绩: 实验日期:201 年 月 日预习报告成绩: 指导教师审核(签名): 2010 年 12 月 16 日预习报告1.实验目的:掌握结构体类型变量的定义和使用。掌握结构体类型数组的概念和使用。掌握联合体类型变量的定义和使用。掌握指针访问结构与联合体的方法。掌握利用结构体进行函数参数的传递。2.实验用仪器设备、器材或软件环境:Turbo C 2.03. 程序框图:4.
2、预编程序:#include #define N 10struct student int number; char name10; int score3; int total; float aver; input(struct student stu,int n) int i,j; char str10=0; printf(ten students shu jun );for(i=0;in;i+) scanf(%d,&stui.number); scanf(%s,stui.name); for(j=0;j3;j+) scanf(%d,&(stui.scorej); int maximum(st
3、ruct student stu,int n) int i; int m; m=0; for(i=1;istum.total) m=i; main() int m; int i,j; double ave; input(stu,N); for(i=0;iN;i+) for(j=0;j3;j+) stui.total+=stui.scorej; stui.aver=stui.total/3; ave=ave+stui.total; ave/=(N*3); printf( numbertnametscore1tscore2tscore3ttotaltaveragen); for(i=0;iN;i+
4、) printf(%dt%st,stui.number,stui.name); for(j=0;j3;j+) printf(%dt,stui.scorej); printf(%dt,stui.total); printf(%fn,stui.aver); printf(average=%lfn,ave); printf(the highest score:); m=maximum(stu,N); printf(f,score total:%d,stum.name,stum.total);实验报告成绩: 指导教师审核(签名): 2010 年 12月 16日实验报告1.实验目的:掌握结构体类型变量的
5、定义和使用。掌握结构体类型数组的概念和使用。掌握联合体类型变量的定义和使用。掌握指针访问结构与联合体的方法。掌握利用结构体进行函数参数的传递。2仪器设备型号及编号:7C413.实验用仪器设备、器材或软件环境:Turbo C 2.04. 程序框图:5实验步骤、程序调试方法:#include #define N 10struct student int number; char name10; int score3; int total; float aver; stuN=0,0,0,0,0,0,0;input(struct student stu,int n) int i,j; char str
6、10=0; printf(ten students shu jun );for(i=0;in;i+) scanf(%d,&stui.number); scanf(%s,stui.name); for(j=0;j3;j+) scanf(%d,&(stui.scorej); ;int maximum(struct student stu,int n) int i; int m; m=0; for(i=1;istum.total) m=i; return(m);main() int m; int i,j; double ave; input(stu,N); for(i=0;iN;i+) for(j=
7、0;j3;j+) stui.total+=stui.scorej; stui.aver=stui.total/3; ave=ave+stui.total; ave/=(N*3.0); printf( numbertnametscore1tscore2tscore3ttotaltaveragen); for(i=0;iN;i+) printf(%dt%st,stui.number,stui.name); for(j=0;j3;j+) printf(%dt,stui.scorej); printf(%dt,stui.total); printf(%fn,stui.aver); printf(ave
8、rage=%lfn,ave); printf(the highest score:); m=maximum(stu,N); printf(%s,score total:%d,stum.name,stum.total);6实验数据处理及结果分析:7实验中存在的问题:一、调试前:#include #define N 10struct student int number; char name10; int score3; int total; float aver; input(struct student stu,int n) int i,j; char str10=0; printf(ten
9、students shu jun );for(i=0;in;i+) scanf(%d,&stui.number); scanf(%s,stui.name); for(j=0;j3;j+) scanf(%d,&(stui.scorej); int maximum(struct student stu,int n) int i; int m; m=0; for(i=1;istum.total) m=i; main() int m; int i,j; double ave; input(stu,N); for(i=0;iN;i+) for(j=0;j3;j+) stui.total+=stui.scorej; stui.aver=stui.total/3; ave=ave+stui.total; ave/=(N*3); printf( numbertnametscore1tscore2tscore3ttotaltaveragen);