習題8-10 輸出學生成績 (20 分)
阿新 • • 發佈:2019-01-09
本題要求編寫程式,根據輸入學生的成績,統計並輸出學生的平均成績、最高成績和最低成績。建議使用動態記憶體分配來實現。
輸入格式:
輸入第一行首先給出一個正整數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()
{
int n,*a,i;
double max=0,min,sum=0;
scanf("%d",&n);
if((a=(int*)malloc(n*sizeof(int)))==NULL){
exit(1);/*此處的(int*)將malloc找到的**連續**n個int型大小的房間,改變為n個連續的int型房間。從而以下可以進行a+i(也可以使用陣列形式)
*/
}
min=*a;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
if(*(a+i)>max)
max=*(a+i);
if(* (a+i)<min)
min=*(a+i);
sum+=*(a+i);
}
printf("average = %.2f\nmax = %.2f\nmin = %.2f\n",sum/n,max,min);
free(a);
return 0;
}