字符串的左旋问题
键盘输入一个字符串,然后再输入一个数,按这个数把字符串分成两部分然后对调输出,并且改变原来的字符串的顺序。
程序代码:
#include<stdio.h> #include<string.h> int main(void) { char str1[128], str2[128]; int i, j, num, lenth; printf("Please input the string:\n"); gets(str1); loop: printf("Please input a number:\n"); scanf("%d", &num); lenth = strlen(str1); if (num > lenth || num < 0) { printf("Input error, please input again!"); goto loop; } else { for (i = 0, j = lenth - num; i < num; i++, j++) { str2[j] = str1[i]; } for (i = num, j = 0; i < lenth; i++, j++) { str2[j] = str1[i]; } } str2[lenth] = '\0'; printf("The result string is:\n"); puts(str2); return 0; }
[ 本帖最后由 nanicesky 于 2012-7-28 22:13 编辑 ]