(1)第1處錯誤的前一語句是if(s[i]>='0'&& s[i]<='9'),含義是當(dāng)s[i]是數(shù)字時保留,形成新字符串,覆蓋原來的字符串。j是新字符串的字符個數(shù)計數(shù)器,每次賦值應(yīng)該加1,因此s[j]=s[i];應(yīng)該改為s[j++]=s[i];。(2)由于j是新字符串的字符個數(shù)計數(shù)器,這里是給新字符串輸入一個結(jié)束符,應(yīng)該是'\0'而不是"\0",因此應(yīng)該改為s[j]= '\0';。
三、編程題
請編寫函數(shù)fun,它的功能是:計算n門課程的平均分,計算結(jié)果作為函數(shù)值返回。
例如,若有5門課程的成績是90.5、72、80、61.5、55,則函數(shù)的值為:71.80。
注意:部分源程序已給出。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
#include <stdio.h>
float fun(float *a,int n)
{
}
main()
{
float score[30]={90.5,72,80,61.5,55},
aver;
aver=fun(score,5);
printf("Average score is:%5.2f\n",
aver);
}
【答案與解析】
相關(guān)推薦:
計算機(jī)二級C技巧:VC6.0控制鼠標(biāo)反方向移動 計算機(jī)等級考試二級C語言考試輔導(dǎo)教程匯總