用c语言有一个一维数组用于存放10个学生的成绩,要求编写三个函数分别求学生的平均成绩,求10个学生的最高分,求10个学生的最低分,在主函数中调用这三个函数得到结果。
时间: 2023-03-25 17:00:55 浏览: 211
题目要求用C语言编写一个一维数组,用于存放10个学生的成绩。同时,需要编写三个函数,分别用于求学生的平均成绩、求10个学生的最高分和求10个学生的最低分。最后,在主函数中调用这三个函数,得到结果。
具体实现方法如下:
1. 定义一个长度为10的一维数组,用于存放10个学生的成绩。
2. 编写一个函数,用于求学生的平均成绩。该函数需要遍历数组,将所有成绩相加,然后除以10,得到平均成绩。
3. 编写一个函数,用于求10个学生的最高分。该函数需要遍历数组,找到最大值并返回。
4. 编写一个函数,用于求10个学生的最低分。该函数需要遍历数组,找到最小值并返回。
5. 在主函数中,分别调用这三个函数,得到平均成绩、最高分和最低分,并输出结果。
具体代码如下:
#include <stdio.h>
#define NUM 10
int scores[NUM];
float get_average_score()
{
int sum = ;
for(int i = ; i < NUM; i++)
{
sum += scores[i];
}
return (float)sum / NUM;
}
int get_max_score()
{
int max = scores[];
for(int i = 1; i < NUM; i++)
{
if(scores[i] > max)
{
max = scores[i];
}
}
return max;
}
int get_min_score()
{
int min = scores[];
for(int i = 1; i < NUM; i++)
{
if(scores[i] < min)
{
min = scores[i];
}
}
return min;
}
int main()
{
printf("请输入10个学生的成绩:\n");
for(int i = ; i < NUM; i++)
{
scanf("%d", &scores[i]);
}
float average_score = get_average_score();
int max_score = get_max_score();
int min_score = get_min_score();
printf("平均成绩为:%.2f\n", average_score);
printf("最高分为:%d\n", max_score);
printf("最低分为:%d\n", min_score);
return ;
}