编程题
下列程序定义了N×N的而维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:求出数组周边元素 的平均值 并作为函数值返回给主函数中的s则返回主程序后s 的值应为3.375.
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
#define N 5
double fun (int w[][N])
{
}
main()
{
int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i,j;
FILE *out;
double s;
printf("***** The array *****\n");
for(i=0;i { for(j=0;j { printf("%4d",a[i][j]); } printf("\n"); } s=fun(a); printf("***** THE RESULT *****\n"); printf("The sum is %lf\n",s); out = fopen("out.dat", "w"); fprintf(out, "%lf", s); fclose(out); } 答案是: double fun(int w[][N]) { int i,j,k=0; double s=0.0; for(j=0;j { s+=w[0][j]; k++; } for(j=0;j { s+=w[N-1][j]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][N-1]; k+; } rturn s/=k; } 编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |