c语言结构体实验报告
- 格式:docx
- 大小:60.97 KB
- 文档页数:3
实验目的
(1) 掌握结构体的定义和使用方式;
(2) 掌握结构体数组的使用方法;
(3) 理解结构体指针作为函数参数的方法。
实验任务
(1)编写程序:定义一个结构类型,可以存储一个学生的姓名、数学和计算机两门课的成绩,输入一个学生的姓名和两门课的成绩到结构体变量中,然后计算并输出其平均成绩及姓名。
(2)编写程序:定义一个结构类型, 可以存储一个学生的平时、实习、测验、期末成绩和总评成绩。
1)编程完成输入4个学生的平时、实习、测验和期末成绩。封装成函数。
2)计算这4个学生的总评成绩,封装成函数。其中平时、实习、测验和期末分别占10%、20%、20%、50%。
3)找到总评成绩最高的学生,封装成函数。
4)输出总评成绩最高的学生的成绩信息(平时、实习、测验、期末成绩和总评成绩)。
5)要求用结构体数组
流程图
见白纸
源程序
1.
#include
struct student
{
int name[20];
float a;
float b;
};
int main()
{
struct student stu1;
printf("请输入学生姓名、数学成绩、计算机成绩:\n");
scanf("%s%f%f",&, &stu1.a, &stu1.b);
float sum;
sum = (stu1.a + stu1.b) / 2;
printf("%s平均成绩为%f", , sum);
return 0;
}
2.
#include
struct student
{
float a;
float b;
float c;
float d; float average;
};
int max(int a[4])
{
int i,t,m=a[0],max=0;
for (i = 0; i < 4; i++)
{
if (m < a[i])
{
a[i] = t;
a[i] = m;
m = t;
max = i;
}
}
return max;
}
int main()
{
int sum[4];
int m,n;
struct student stu[4];
printf("请输入4个学生的平时、实习、测验、期末\n");
int i;
for (i = 0; i < 4; i++)
{
scanf("%f%f%f%f", &stu[i].a, &stu[i].b, &stu[i].c, &stu[i].d);
sum[i] = stu[i].average = stu[i].a*0.1 + stu[i].b*0.2 + stu[i].c*0.2 + stu[i].d*0.3;
}
m = max(sum);
n = m + 1;
printf("成绩最高的第%d个学生\n平时成绩为%f\n实习趁机为%f\n测验成绩为%f\n期末成绩为%f\n总评成绩为%f", n, stu[m].a, stu[m].b, stu[m].c, stu[m].d, stu[m].average);
return 0;
}
运行结果
实验总结
基本掌握结构体的定义和使用方式;
基本掌握结构体数组的使用方法;
能理解结构体指针 作为函数参数的方法。