下列程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int [][N],int m),该函数的功能是使数组右上半三角元素中的值乘以m。例如,若m的值为2,a数组中的值为:
,则返回主程序后a数组中的值应为:
方式一:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define N 3
void fun(int a[][N], int m) {
for (int i = 0; i < N; i++) {
for (int j = N - 1; j >= i; j--) {
a[i][j] = a[i][j] * m;
}
}
}
int main() {
int m = 0;
scanf("%d", &m);
int a[][N] = { {1,9,7},{2,3,8},{4,5,6} };
fun(a, m);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
方式二:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define N 3
void fun(int a[][N], int m) {
for (int j = 0; j < N; j++) {
for (int i = 0; i <= j; i++) {
a[i][j] = a[i][j] * m;
}
}
}
int main() {
int m = 0;
scanf("%d", &m);
int a[][N] = { {1,9,7},{2,3,8},{4,5,6} };
fun(a, m);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}