例题:下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的r。
例如:若c数组中的值为:
|1 9 7|
|-----|----|----|
|4 5 2|
|3 8 3|
则返回主程序后r的值应为4.625000
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 3
double fun(int b[][N])
{
int i,j,k=0;
double r=0.0;
for(j=0;j<N;j++)
{
r+=b[0][j];
k++;
}
for(j=0;j<N;j++)
{
r+=b[N-1][j];
k++;
}
for(i=1;i<=N-2;i++)
{
r+=b[i][0];
k++;
}
for(i=1;i<=N-2;i++)
{
r+=b[i][N-1];
k++;
}
return r/=k;
}
main()
{
int c[N][N]={1,9,7,4,5,2,3,8,3};
int i,j;
FILE*out;
double r;
printf("**********\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",c[i][j]);
}
printf("\n");
}
r=fun(c);
printf("THE RESULT\n");
printf("The r is %lf\n",r);
out=fopen("outfile.dat","w");
fprintf(out,"%lf",r);
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言编程>第七周 ① 请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。
C语言编程>第七周 ② 请编写一个函数fun,它的功能是:找出一维整型数组元素中最小的值和它所在的下标,最小的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
C语言编程>第七周 ③ 下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的r。
C语言编程>第七周 ④ 请编写函数fun,其功能是:将str所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在s所指的数组中。
C语言编程>第七周 ⑤ 请编写一个函数void fun(ints,int t,intresult),用来求出数组的最小元素在数组中的下标,并存放在result所指的存储单元中。
C语言编程>第七周 ⑥ 给定程序的功能是判断字符串s中的某个字符是否与字符ch相同,若相同什么也不做,若不同则插在字符串的最后。
C语言编程>第七周 ⑦ 学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组score中,请编写函数fun,它的功能是把分数最低的学生数据放在low所指的数组中。
C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。
越努力越幸运!
加油,奥力给!!!