内蒙古工业大学信息工程学院
内蒙古工业大学信息工程学院
实 验 报 告
课程名称:高级语言程序设计(C)
实验名称:循环、数组、函数和结构体程序设计
实验类型: 验证性□ 综合性√ 设计性□
实验室名称: 校计算机中心机房
班级:信息与计算科学11-1 学号:201120905007
姓名: 隋文磊 组别: A845
同组人: 无 成绩:
实验日期: 2011-12-08 2011-12-15
实验报告撰写要求
实验前用预习报告纸撰写预习报告,预习报告包括以下内容
实验目的
实验用仪器设备、器材或软件环境
实验原理、方案设计、程序框图、预编程序等
实验过程中需要记录的实验数据表格
实验过程中,要认真观察,仔细记录
完成实验后用实验报告纸撰写实验报告,包括以下内容
仪器设备型号及编号
实验器材或软件环境
实验步骤、程序调试方法
实验数据处理及结果分析
实验中存在的问题
体会及思考题
报告撰写时,要求格式规范、书写整齐
预习报告成绩: 指导教师审核(签名): 年 月 日
预习报告
实验目的:
(1) 掌握结构体类型变量的定义和使用。
(2)掌握结构体类型数组的概念和使用。
(3)掌握利用结构体进行函数参数的传递。
实验题目:
1.有10个学生,每个学生的数据包括学号、姓名及3门课的成绩、总成绩和平均成绩,从键盘输入10个学生的数据(包括学号、姓名及3门课的成绩),要求打印出每位学生的学号、姓名、三门课的成绩、总成绩和平均成绩,最后在打印出3门课的总成绩以及最高分学生的数据(包括姓名和总成绩)。要求:
(1)根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。
(2)用input函数从键盘上输入10个学生的数据;
(3) 用average函数求出每个学生的总成绩、平均成绩和所有学生的总平均成绩;
(4)用maximum函数找出最高分的学生的数据;
(5)在主函数中输出每位学生的学号、姓名、三门课的成绩、总成绩和平均成绩以及总平均分和 最高学生的数据。
输出形式如下:
NO name score1 score2 score3 total average
101 wang 80 79 81 240 80.00
102 li 91 90 89 270 90.00
average=85.00
The highest score:li,score total:270
实验要求:
(1) 要求在实验报告中画出程序流程图;
(2) 给出源程序清单;
(3) 给出程序的运行情况,包括输入、和输出数据;
程序流程图:
预编程序代码:
#include
#define N 2
float all_average;
struct student
{
int num[10];
char name[30];
float score[3];
};
struct student stu[N],temp;
void Input()
{ int i;
for(i=0;i
{printf("input student %d score\n,i+1 ");
scanf("%s",&stu[i].score);
printf("input student %d number\n,i+1 ");
scanf("%s",&stu[i].num);
printf("input student %d mane\n,i+1 ");
scanf("%s",&stu[i]name);
}
}
average()
{int i;
for(i=0;i
{stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
all_average=sum/10;
}
for(i=0;i
stu[i].averag=total/3;
}
max()
{int i;
max=stu[0];
for(i=0;i
if(max