字符串练习——用不同的方法实现字符串平移问题

xiaoxiao2021-02-28  17

例如:ABDJKSLS,输入平移的个数2,平移的结果为DJKSLSAB。

1、

#include <stdio.h> #include <string.h> void move(char *str,int m) { int i = 0; int j = 0; char temp; int len = strlen(str); for(i = 0;i < m;i++) { temp = str[0]; for(j = 1;j < len;j++) { str[j-1] = str[j]; } str[len-1] = temp; } } int main() { char str[100] = {0}; int m = 0; printf("please input string:\n"); scanf("%s",str); printf("please input m:\n"); scanf("%d",&m); move(str,m); printf("move result:%s\n",str); return 0; }

2、

#include <stdio.h> #include <string.h> void move(char *str,int m,char *result) { int len = strlen(str); int i = 0; char *a = str; int k = 0; for(i = m;i < len;i++) { result[k++]=str[i]; } str = a; for(i = 0;i < m;i++) { result[k++] = str[i]; } result[k] = '\0'; } int main() { char str[100] = {0}; char result[100] = {0}; int m = 0; printf("please input string:\n"); scanf("%s",str); printf("please input m:\n"); scanf("%d",&m); move(str,m,result); printf("move result:%s\n",result); return 0; }
转载请注明原文地址: https://www.6miu.com/read-35852.html

最新回复(0)