改錯(cuò)題
下列給定程序中,函數(shù)fun的功能是:從n個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在行參aver所指的存儲(chǔ)單元中。例如,若輸入8名學(xué)生的成績(jī):
80.5 60 72 90.5 98 51.5 88 64
則低于平均分的學(xué)生人數(shù)為4(平均分為:75.5625).
請(qǐng)改正程序中的錯(cuò)誤,使程序能統(tǒng)計(jì)出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:#include
#include
#define N 20
int fun(float *s, int n, float *aver)
{
float ave, t = 0.0;
int count = 0, k, i;
/********found********/
for (k=0; k t = s[k]; ave = t/n; for (i=0; i if (s[i] < ave) count++; /********found********/ *aver = &ave; return count; } main() { float s[30], aver; int m, i; printf("\nPlease enter m: "); scanf("%d", &m); printf("\nPlease enter %d mark :\n ", m); for (i=0; i scanf("%f", s+i); printf("\nThe number of students : %d\n", fun(s, m, &aver)); printf("Ave=%f\n", aver); } 第1處:t=s[k];應(yīng)改為t+=s[k]; 第2處:*aver=&ave;應(yīng)改為*aver=ave; 編輯推薦: 2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)告
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |