3104 - 【创新型】第9章: 指针 9.19 平移交换
时间限制 : 1 秒
内存限制 : 128 MB
在学习完第10章的内容之后再来做此题。。。
----------------------------------------------------------------------------------------------------------------------------------------------------------
编写一个函数,函数的功能是移动字符串中的内容。移动的规则如下:把第1到第m个字符,平移到字符串的最后;再把第m+1到最后的字符移动到字符串的前部。例如,字符串中原由的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是DEFGHIJKABC。在主函数中输入一个长度不大于20的字符串和平移的值m,调用函数完成字符串的平移。要求用指针方法处理字符串。
题目输入
一个字符串,一个数字
题目输出
也是一个字符串
输入/输出样例
输入格式
ABCDEFGHIJK 3
输出格式
DEFGHIJKABC
C语言解答
#include <stdio.h> #include <string.h> void fun(char *pstr,int n); int main() { char str[20]; int m; gets(str); scanf("%d",&m); fun(str,m); return 0; } void fun(char *pstr,int n) { int i,x,count=0; char b[20]; x=strlen(pstr); for(i=n;i<x;i++) { b[count]=pstr[i]; count++; } for(i=0;i<n;i++) { b[count]=pstr[i]; count++; } b[count]='\0'; printf("%s",b); }