//数组循环左移问题
/*idea:Reverse(0,i-1);//cbadefg abcd dbca dcba
Reverse(i,n-1);//cbagfed
Reverse(0,n-1);//defgabc*/
#include<stdio.h>
#include<string.h>
int n;
void func(char a[]);
void Reverse(char a[],int left,int right);
int main()
{
int i;
int p;
char a[]={'a','b','c','d','e','f','g'};
n=strlen(a);
for(i=0;i<n;i++)
{
printf("%c ",a[i]);
}
printf("\n");
func(a);
for(i=0;i<n;i++)
{
printf("%c ",a[i]);
}
}
void func(char a[])
{
int p;
scanf("%d",&p);
Reverse(a,0,p-1);
Reverse(a,p,n-1);
Reverse(a,0,n-1);
}
void Reverse(char a[],int left,int right)
{
int i=0;
char temp;
for(i=0;i<(right-left+1)/2;i++)
{
temp=a[left+i];
a[left+i]=a[right-i];
a[right-i]=temp;
}
}
数组左移问题
最新推荐文章于 2022-04-11 21:10:12 发布