給定程序MODI1.C中函數fun的功能是:根據整型形參m的值,計算如下公式的值。 1 1 1 t = 1 22 33 m*m 例如,若 m 中的值為: 5,則應輸出: 0.536389。 請改正程序中的錯誤,使它能得出正確的結果。 注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構! 給定源程序:
#include<stdio.h>double fun (int m ){double y =1.0;int i ;for(i =2; i < m ; i++)
y -=1/(i * i);return( y );}main(){int n =5;printf("\nThe result is %lf\n", fun ( n ));}
#include<stdio.h>#include<string.h>intfun(int score[],int m,int below[]){}main(){int i, n, below[9];int score[9]={10,20,30,40,50,60,70,80,90};
n =fun(score,9, below);printf("\nBelow the average score are: ");for(i =0; i < n ; i++)printf("%d ", below[i]);NONO();}
解題思路: 本題是計算平均成績,再把低于平均成績的分數存入依次數組below中。 參考答案:
intfun(int score[],int m,int below[]){float av=0.0;int i, j=0;for(i=0; i<m; i++) av += score[i];
av /= m;for(i=0; i<m; i++)if(av>score[i]) below[j++]=score[i];return j;}