8-10 輸出學生成績(動態分配)
阿新 • • 發佈:2018-12-01
// 輸出學生成績(動態分配) #include <stdio.h> #include <stdlib.h> int main() { int n,i; double sum = 0; double aver; //平均成績 double *p; printf("請輸入學生人數:"); scanf("%d",&n); if((p=(double *)calloc(n, sizeof(double))) == NULL) { printf("分配記憶體失敗\n"); exit(1); } printf("請輸入%d個學生的成績:\n",n); for(i=0;i<n;i++) { scanf("%lf",p+i); } double min = *(p+0); //最低成績 double max = *(p+0); //最高成績 for(i=0;i<n;i++) { sum = sum + *(p+i); if(*(p+i)<min) { min = *(p+i); } if(*(p+i)>max) { max = *(p+i); } } aver = sum/n; printf("平均成績是%f分\n",aver); printf("最高成績是%f分\n",max); printf("最低成績是%f分\n",min); free(p); return 0; }