習題8-10 輸出學生成績 (20分)
阿新 • • 發佈:2021-01-25
技術標籤:# 浙大版《C語言程式設計(第3版)》題目集c語言c++visual studio
本題要求編寫程式,根據輸入學生的成績,統計並輸出學生的平均成績、最高成績和最低成績。建議使用動態記憶體分配來實現。
輸入格式:
輸入第一行首先給出一個正整數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;
}
***謝謝!!!