输入4行4列的二维数组a,编写自定义函数将对角线之外的上三角形的每个元素加1,下三角形的每个元素减1, 在主函数中输入数组数据并输出。用C语言完成。
时间: 2024-02-13 10:02:54 浏览: 47
可以使用以下代码实现该功能:
```c
#include <stdio.h>
void modify_array(int a[][4], int n) {
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i < j) { // 上三角形
a[i][j]++;
} else if (i > j) { // 下三角形
a[i][j]--;
}
}
}
}
int main() {
int a[4][4];
int 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_array(a, 4);
printf("修改后的数组a:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
主要思路是定义一个修改数组的函数 `modify_array`,它接受一个二维数组和数组的行数作为参数。在函数中,使用两重循环遍历数组的每个元素,对于上三角形的元素,将它们加1,对于下三角形的元素,将它们减1。在主函数中,先输入数组的数据,然后调用 `modify_array` 函数进行修改,最后输出修改后的数组。
阅读全文