读前福利:几百本互联网技术书籍送给大家mp.weixin.qq.com/s/dFqVQ2qJx…
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