您的位置:首页 > 其它

1008. 数组元素循环右移问题 (20)

2018-03-19 17:27 351 查看
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

void reverse(int arr[],int a,int b){
int i,t;
for(i=a;i<=(a+b)/2;i++){
t = arr[i];
arr[i] = arr[a+b-i];
arr[a+b-i] = t;
}
}                        //reverse()有多种写法
int main()
{
int n,m,i,flag = 0;
int a[101];
scanf("%d %d",&n,&m);
m %= n;              //不写这句就会产生两个错误点,不造为什么
for(i=0;i<n;i++)
scanf("%d",&a[i]);
reverse(a,0,n-m-1);
reverse(a,n-m,n-1);
reverse(a,0,n-1);
for(i=0 ;i<n;i++){
if(flag == 1) printf(" ");
printf("%d",a[i]);
flag = 1;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: