知识点:行指针,用行指针作为函数参数, 在函数中可以访问主函数中的二维数组,也可以修改这个二维数组中各元素值。
Problem: 定义一个函数将 4 ×4矩阵中的右上三角元素都设置成0,其余元素值不变。 。 Input: 以四行四列的格式输入数组的所有元素 Output: 以四行四列的格式输出数组的所有元素
Example: Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
output: 1 0 0 0 5 6 0 0 9 10 11 0 13 14 15 16
输入格式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
输出格式:
1 0 0 0 5 6 0 0 9 10 11 0 13 14 15 16
输入样例:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
输出样例:
1 0 0 0
5 6 0 0
9 10 11 0
13 14 15 16
结尾无空行
#include <stdio.h>
void change(int (*p)[4],int n , int m) ;
int main()
{ int a[4][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}, {4,5,6,7}};
int i,j;
for(i=0;i<4;i++){ //输出原矩阵
for(j=0; j<4; j++)
scanf("%d",&a[i][j]);
}
change(a,4,4); // 调用change函数
for(i=0; i<4; i++) //输出新矩阵
{
for(j=0; j<4-1; j++)
printf("%d ",a[i][j]);
printf("%d\n",a[i][j]);
}
return 0;
}
// 你的代码将被嵌在这里
void change(int (*p)[4],int n , int m)
{
for(m=0;m<4;m++)
for(n=0;n<4;n++)
p[0][1]=0;
p[0][2]=0;
p[0][3]=0;
p[1][2]=0;
p[1][3]=0;
p[2][3]=0;
}