本文目录一览:
c语言如何将二维数组行列循环移位
#includestdio.h
#define N 5
int main(){
int i,j,m,n,a[N][N];
printf("input m n:");
scanf("%d%d",m,n);
while(m0)m-=N;
while(n0)n-=N;
for(i=0;iN;i++)
for(j=0;jN;j++)
a[i][j]=i*N+j+1;
for(i=0;iN;i++){
for(j=0;jN;j++)
printf("%-3d",a[(N-m+i)%N][(N-n+j)%N]);
printf("\n");
}
return 0;
}
input m n:1 1
25 21 22 23 24
5 1 2 3 4
10 6 7 8 9
15 11 12 13 14
20 16 17 18 19
C语言数组怎么左移?
//用一个循环就可以实现数组的循环左移:
int i,n,m;//temp表示左移位数
int a[n];
for(i=0;in-m;i++)a[i]=a[i+m];//此时的数组个数为n-m
C语言问题 怎么实现一个数组循环左移
其实很简单,将第一个比如a[0]用一个变量保存,然后将后一个元素的值赋给前一个,最后将保存a[0]的变量的值赋给最后一个元素,循环 。对于一个数组,应该用双重循环实现,外循环代表你需要左移的次数,内循环即将每一个元素左移