這裏編寫一個c程序,功能是實現一個字符串的左旋。這個函數輸入字符串和所需要左旋的次數,最終實現程序的最終結果:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<windows.h>
#define num 100000
char *levorotation(char str[num],int n)
{
int i = 0;
int j = 0;
int len = strlen(str);
for (j = 1; j <= n; j++)
{
int tmp = str[0];
for (i = 0; i < len - 1; i++)
{
str[i] = str[i + 1];
}
str[len - 1] = tmp;
}
return str;
}
int main()
{
int i = 0;
int n = 0;
char str[num] = {0};
printf("please enter a string :");
gets(str);
printf("please enter times of levorotation :");
scanf("%d",&n);
printf("after %dth change :%s\n",n,levorotation(str,n));
system("pause");
return 0;
}
最終程序的測試結果如圖所示: