c语言如何编程将二维3✖️3的数组a中的每一列元素向右移动一列,而原来最右边的那一列元素移到最左边
新定义一个3*3循环修改一下赋值回去就可以了,或者只备份第三列循环一下就ok了
#include<stdio.h>
int main()
{
int a[3][3], b[3], i, j;
for(i = 0; i < 3; i++)
for(j = 0;j < 3; j++)
scanf("%d",&a[i][j]);
printf("Input:\n");
for(i = 0; i < 3; i++)
{
for(j = 0;j < 3; j++)
printf("%d ",a[i][j]);
printf("\n");
}
// 备份第三列
for(i = 0; i < 3; i++)
{
b[i] = a[i][2];
}
// 调换
for(i = 0; i < 3; i++)
{
a[i][2] = a[i][1];
a[i][1] = a[i][0];
a[i][0] = b[i];
}
printf("Output:\n");
for(i = 0; i < 3; i++)
{
for(j = 0;j < 3; j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
#include<stdio.h>
int main()
{
int a[3][3],i,j,t;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
t=a[i][2];
for(j=2;j>0;j--)
a[i][j]=a[i][j-1];
a[i][0]=t;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}