#include <stdioh>
int main()
{int a[6][6];
int m,n,i,j,z,k=0,t;
scanf("%d%d",&m,&n) ;
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("========\n");
for(i=0;i<n;i++)
{t=a[i][n-1];
for(z=n-1;z>0;z--)
{
a[i][z]=a[i][z-1];
}
a[i][0]=t;
for(z=0;z<n;z++)
{
printf("%d ",a[i][z]);
}
printf("\n");
}
return 0;
}
c语言中右移“>>”意思是将数的对应的二进制右移,移了以后空出的补零,比如a等于129的二进制是10000001,a>>2,则a等于00100000,即a等于32,相当与129除以4等于32。右移一位相当于a除以2。左移即“<<”,将数的对应的二进制左移,相当于将原来的数乘以2,比如a等于5,的二进制是00000101,a<<2,则a等于00010100(右边空出的补零)。
data = nBitmapDot[i] >> 1; // nBitmap[i]右移一个二进制位,与 data = nBitmapDot[i] / 2; 同效。
data = nBitmapDot[i] << 1; // nBitmap[i]左移一个二进制位,与 data = nBitmapDot[i] 2; 同效。
要说明的是移位 *** 作(<< 或 >>)效率更高。
以上就是关于C语言方阵循环右移,纠错, 大神快来,初学!全部的内容,包括:C语言方阵循环右移,纠错, 大神快来,初学!、c语言中右移’是什么意思、单片机程序中数组中的值怎么实现位左(右)移(C语言)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)