使数组的左下三角元素中的值乘以n

1 题目

函数:fun(int a[][N], int n)

功能:使数组的左下三角元素中的值乘以n

描述:程序定义了 N*N 的二维数组,并在主函数中自动赋值。

举例:
若 n 的值为3,a数组中的值为
1 9 7
3 9 7
2 3 8
则返回主程序后 a 数组中的值应该为
3 9 7
9 27 7
6 9 24

2 思路

利用二重循环解决

在第二层需要进行一点注意的地方

3 代码

# include <stdio.h> 
# include <stdlib.h>
# define N 3

/**
函数:fun(int a[][N], int n)
功能:使数组的左下三角元素中的值乘以n
描述:程序定义了 N*N 的二维数组,并在主函数中自动赋值。
举例:
若 n 的值为3,a数组中的值为 
1  9  7
3  9  7
2  3  8
则返回主程序后 a 数组中的值应该为
3  9  7
9  27 7
6  9  24
*/
 
void fun(int a[][N], int n) {
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j <= i; ++j) {
            a[i][j] = a[i][j] * n;
        }
    }
}

int main(int argc, char const *argv[]) { 
    int a[N][N] = {{1,9,7}, {3,9,7}, {2,3,8}};
    int n = 3; 

    printf("原数组为:\n");
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < N; ++j) {
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }

    fun(a, n);
    printf("计算后数组:\n");
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < N; ++j) {
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }
}

示例结果:

$ gcc ex008.c -o demo
$ ./demo
原数组为:
1   9   7
3   9   7
2   3   8
计算后数组:
3   9   7
9   27  7
6   9   24
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容