[PTA]实验8-1-9 输出学生成绩
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验8-1-9 输出学生成绩相关的知识,希望对你有一定的参考价值。
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
输入格式:
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。
输出格式:
按照以下格式输出:
average = 平均成绩
max = 最高成绩
min = 最低成绩
结果均保留两位小数。
输入样例:
3
85 90 95
输出样例:
average = 90.00
max = 95.00
min = 85.00
- 提交结果:
- 源码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int N;
double* p;
double maxScore, minScore, average, sumScore;
scanf("%d", &N);
p = (double*)malloc(sizeof(double) * N); // 动态内存分配
if (p != NULL)
{
for (int i = 0; i < N; i++) // 数组名为数组首地址,指针变量p为分配到的内存的首地址,故可如操作数组般操作指针
{
scanf("%lf", p + i);
}
sumScore = average = 0;
maxScore = minScore = p[0]; // 假设输入的第一个成绩即为最低分、最高分
for (int i = 0; i < N; i++)
{
sumScore += p[i]; // 累加求和得总分
if (p[i] < minScore) // 寻找最低分
{
minScore = p[i];
}
if (p[i] > maxScore) // 寻找最高分
{
maxScore = p[i];
}
}
average = sumScore / N; // 求得平均分
printf("average = %.2f\\nmax = %.2f\\nmin = %.2f", average, maxScore, minScore);
}
else
{
exit(1); // 内存分配失败
}
free(p); // 释放内存
return 0;
}
以上是关于[PTA]实验8-1-9 输出学生成绩的主要内容,如果未能解决你的问题,请参考以下文章