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

来源:互联网 发布:淘宝上的牙齿矫正器 编辑:程序博客网 时间:2024/06/08 02:51

#include<stdio.h>void reverse(int *a,int start,int end){for(int i=0;i<=(start+end)/2;i++){int tmp=a[i];a[i]=a[start+end-i];    a[start+end-i]=tmp;}}int main(){int n,m;int a[100]={0};scanf("%d%d",&n,&m);m%=n;  for(int i=0;i<n;i++){scanf("%d",&a[i]);}    reverse(a,0,n-1);reverse(a,0,n-m-1);reverse(a,n-m,n-1);    //////法1////////*int flag=0;for(int j=0;j<n;j++){if(flag!=0) printf(" ");    else   flag=1;printf("%d",a[j]);}printf("\n"); */    ////////法2//////////for (i = 0; i < n; i++)      printf("%d%s", a[i], (i-n+1?" ":"\n"));      //////////////////////return 0;}


原创粉丝点击