📄 2-2-6.c
字号:
/*中国系统分析员顾问团,http://www.csai.cn*/
/*程序员下午考试指南书籍源码*/
void rcr(int a[], int n, int k){
int i,j,t,temp,count;
count = 0; /*记录移动元素的次数*/
k = k % n;
if(k != 0){ /*若k是n的倍数,则元素无须移动;否则,每个元素都要移动*/
i = 0;
while(count < n) {
j = i; t = i;
temp = a[i]; /*备份a[i]的值*/
/* 移动相关元素,直到计算出a[i]应移动到的目标位置*/
while((j = (j-k+n) % n) != i){
a[t] = a[j];
t = j;
count++;
}
a[t] = temp; count++;
i++;
}
}
}
main()
{
int a[]={1,2,3,4,5,6,7,8},i;
rcr(a,8,3);
for(i=0;i<8;i++)
printf(" %d ",a[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -