题目一:
题目:
函数fun功能:求出二维数组周边元素之和,作为函数值返回。
二维数组的值已经在主函数中赋予。
代码:
#include <stdio.h>
#define M 4
#define N 5
///$
/// 函数fun功能:求出二维数组周边元素之和,作为函数值返回。
// 二维数组的值已经在主函数中赋予。
int fun(int a[M][N]) {
// 这里需要填写求周边元素之和的代码
/**********Program**********/
int i, sum = 0;
// 处理第一行和最后一行
for (i = 0; i < N; i++) {
sum += a[0][i]; // 第一行
sum += a[M - 1][i]; // 最后一行
}
// 处理第一列和最后一列(去掉已经计入的角落元素)
for (i = 1; i < M - 1; i++) {
sum += a[i][0]; // 第一列
sum += a[i][N - 1]; // 最后一列
}
return sum;
/********** End **********/
}
int main() {
int a[M][N] = {{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}, {2, 3, 4, 5, 6}, {4, 5, 6, 7, 8}};
int y;
y = fun(a);
printf("s=%d\n", y);
return 0;
}
题目二:
题目:
// 请编一个函数void fun(int tt[M][N], int pp[N]),
// tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,
// 并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
代码:
#include <stdio.h>
#define M 3
#define N 4
// 请编一个函数void fun(int tt[M][N], int pp[N]),
// tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,
// 并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
void fun(int tt[M][N], int pp[N]) {
int i, j, max;
/**********Program**********/
for(j=0; j<N; j++) {
max = tt[0][j];
for(i=0; i<M; i++) {
if(tt[i][j]>max) {
max = tt[i][j];
}
}
pp[j] = max;
}
/********** End **********/
}
int main() {
int i,j,k,p[N];
FILE *wf;
int t[M][N] = {{68, 32, 54, 12}, {14, 24, 88, 58}, {42, 22, 44, 56}};
printf("原数据:\n");
for(i = 0; i < M; i++) {
for(j = 0; j < N; j++)
printf("%d ", t[i][j]);
printf("\n");
}
fun(t, p);
printf("\n结果:\n");
for(k = 0; k < N; k++)
printf("%d ", p[k]);
printf("\n");
return 0;
}