高级C语言程序设计实验报告.
XXXX大学XXXX学院
?
?
实 验 报 告
?
?
?
?
课程名称: 高级语言程序设计(C)
实验名称:循环、数组、函数和结构体程序设计
实验类型: 验证性□ 综合性√ 设计性□
实验室名称: 校计算中心
班级: 通信10-1班 学号:
姓名: 组别:
同组人: 成绩:
实验日期:
?
?
?
?
?
实验报告撰写要求
实验前用预习报告纸撰写预习报告,预习报告包括以下内容
实验目的
实验用仪器设备、器材或软件环境
实验原理、方案设计、程序框图、预编程序等
实验过程中需要记录的实验数据表格
实验过程中,要认真观察,仔细记录
完成实验后用实验报告纸撰写实验报告,包括以下内容
仪器设备型号及编号
实验器材或软件环境
实验步骤、程序调试方法
实验数据处理及结果分析
实验中存在的问题
体会及思考
报告撰写时,要求格式规范、书写整齐
预习报告成绩: 指导教师审核(签名): 年 月 日
预习报告
实验目的:
掌握结构体类型变量的定义和使用
掌握结构体类型变量的概念和使用
掌握用指针访问结构体的方法
掌握利用结构体进行函数参数的传递
实验软件环境:
Microsoft Visual C++ 6.0
三、1.实验原理:
利用结构体、函数的调用和指针的传输。
2.方案设计:
首先定义一个结构体,用来存储信息;定义一个主函数,用来输出各项结果;定义一个input函数用于输入各项信息;定义一个average函数用于求平均值和总分;定义一个maximum用于求总的平均值;
3.程序框图:
( 结构体 )
( 主函数 )
调用调用调用
函数(用于输入各项信息)函数(用于求平均值和总和)函数(用于求总的平均值)
4.预编程序:
#include
#define N 10
struct stu
{
int number,score1,score2,score3,total;
float average;
char name[10];
}students[N],stud[N],*p1;
float aver;
int a;
main()
{
input(students);
average(students);
maximum(students[N]);
printf(" No. name score1 score2 score3 total average\n");
for(p1=students;p1
printf("%5d%8s%10d%10d%10d%9d%11.2f\n",p1->number,p1->name,p1->score1,p1->score2/
,p1->score3,p1->total,p1->average);
printf("average=%0.2f",aver);
printf("\nThe highest score:%s,score total:%d\n",students[a].name,students[a].total);
}
input(struct stu *p1)
{
for(p1=students;p1
{
scanf("%d%d%d%d",&p1->number,&p1->score1,&p1->score2,&p1->score3);
gets(p1->name);
}
}
average(struct stu *p1)
{
float ave=0.0;
for(p1=students;p1
{
p1->total=p1->score1+p1->score2+p1->score3;
p1->average=p1->total/3.0;
}
for(p1=students;p1
ave+=(p1->average);
aver=ave/3.0;
}
maximum(struct stu *p2)
{int temp,i;
for(i=0;i
if(students[i].total>students[i+1].total)
{
temp=students[i].tota