用C语言输入4行4列的二维数组a,编写自定义函数将对角线之外的上三角形的每个元素加1,下三角形的每个元素减1,在主函数中输入数组数据并输出。
时间: 2024-02-21 18:57:06 浏览: 76
好的,以下是代码实现:
```c
#include <stdio.h>
// 自定义函数
void modify(int a[][4]) {
int i, j;
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 4; j++) {
// 对角线之外的上三角形
a[i][j] += 1;
// 对角线之外的下三角形
a[j][i] -= 1;
}
}
}
int main() {
int a[4][4], i, j;
// 输入数组数据
printf("请输入4行4列的数组a:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
// 调用自定义函数
modify(a);
// 输出数组数据
printf("修改后的数组为:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
这里需要注意的是,函数中的二维数组参数需要指定列数,而行数可以省略。在主函数中,我们需要先输入数组数据,然后调用自定义函数进行修改,最后再输出修改后的数组数据。
阅读全文