习题8-10 输出学生成绩 (20分)

本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。

输入格式:
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。

输出格式:
按照以下格式输出:

average = 平均成绩
max = 最高成绩
min = 最低成绩

结果均保留两位小数。

输入样例:

3
85 90 95

输出样例:

average = 90.00
max = 95.00
min = 85.00

源码

#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
//动态内存分配实现
int main()
{
	int n;
	scanf("%d", &n);
	double* scores;
	scores = (double*)malloc(n * 8);//动态内存分配
	for (int i = 0; i < n; i++)
	{
		scanf("%lf", &scores[i]);//注意将int改为double后,一定要改%d——%lf,别忘喽  否则结果吓人
	}
	int max_index = 0, min_index = 0;
	double sum = 0;
	for (int i = 0; i < n; i++)
	{
		if (scores[i] > scores[max_index]) { max_index = i; }
		if (scores[i] < scores[min_index]) { min_index = i; }
		sum += scores[i];
	}
	printf("average = %.2lf\n", sum*1.0 / n);
	printf("max = %.2lf\n", scores[max_index]);
	printf("min = %.2lf\n", scores[min_index]);
	
	free(scores);
	scores = NULL;

	getchar();
	getchar();
	return 0;
}

***谢谢!!!

上一篇:压测工具之JMeter之环境配置及运行


下一篇:Django使用xadmin集成富文本编辑器Ueditor(方法二)