3104 - 【创新型】第9章: 指针 9.19 平移交换

在学习完第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);
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题