關(guān)于平均分函數(shù)
#include?<stdio.h> #define?N?10 //打印分數(shù)? void?printScore(int?score[]) { int?i; printf("\n"); for(i=0;i<N;i++) { printf("%d?",score[i]);??????????????? } printf("\n");????? } //計算考試總分? int?getTotalScore(int?score[]) { int?sum?=?0; int?i; for(i=0;i<N;i++) { sum+=score[i];???????????????? }? return?sum; } //計算平均分? int?getAvgScore(int?score[]) { return?getTotalScore(score)/N;??? } //計算最高分? int?getMax(int?score[]) { int?max?=?-1; int?i; for(i=0;i<N;i++) { if(score[i]>max) { max?=?score[i];?????????????? }???????????????? }? return?max; } //計算最低分? int?getMin(int?score[]) { int?min?=100; int?i; for(i=0;i<N;i++) { if(score[i]<?min) { min?=?score[i];?????????????? }???????????????? }? return?min; } //分數(shù)降序排序? void?sort(int?score[]) { int?i,j; for(i=N-2;i>=0;i--) { for(j=0;j<=i;j++) { if(score[j]<score[j+1]) { int?temp; temp?=?score[j]; score[j]?=?score[j+1];? score[j+1]=temp;?????????????????? }????????????????? }??????????????????? } printScore(score);????? } ? int?main() { int?score[N]={67,98,75,63,82,79,81,91,66,84}; int?sum,avg,max,min; sum?=?getTotalScore(score); avg?=?getAvgScore(score); max?=?getMax(score); min?=?getMin(score); printf("總分是:%d\n",sum); printf("平均分是:%d\n",avg); printf("最高分是:%d\n",max); printf("最低分是:%d\n",min); printf("----------成績排名---------\n"); sort(score); return?0;???? }
上面給出的參考答案里,平均分函數(shù)的變量為什么定義為數(shù)組類型,就是?int getAvgScore(int score[]) ?里的score[],但是函數(shù)內(nèi)部用到的參數(shù)是getTotalScore(score),這個getTotalScore(score)是一個整型參數(shù)而不是一個數(shù)組吧,我改成int getAvgScore(int score),沒有[],運行結(jié)果也是一樣的,不知道哪個更正確。
2015-10-19
函數(shù)內(nèi)部用的getTotalScore(score) ,這里面score只是個參數(shù)名稱,實際的參數(shù)是{67,98,75,63,82,79,81,91,66,84}這堆東西,而在外面定義函數(shù)的時候定義的是int?getTotalScore(int?score[])
這表明,這個函數(shù)需要傳遞一個數(shù)組的參數(shù),那么如果你把后面[]這個去掉之后,就會報錯,當然有些編譯器不會給你報錯,因為現(xiàn)在編譯器已經(jīng)可以根據(jù)你的寫法做一些調(diào)整,但是你實際的那種寫法是錯的
2015-10-26
還有 我其實說的是AvgScore函數(shù)而不是TotalScore函數(shù) 在AvgScore函數(shù)內(nèi)部又用到了TotalScore函數(shù) 那么Avg的參數(shù)是Total這個函數(shù)的參數(shù)(即數(shù)組)還是Total這個函數(shù)的返回值(即整型)呢? ?
謝謝