自学内容网 自学内容网

11.21作业

题目一:

题目:

 函数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;
}


原文地址:https://blog.csdn.net/weixin_74066588/article/details/144016148

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!