内存:64  时间:1

题目描述

输入一长度为n的字符串,若其n为偶数,则将字符串从中间反转,若为奇数,则将前后各(n-1)/2个字符反转,中间字符不动。

输入

输出

样例输入

asdfghjkl
qwerty

样例输出

fdsaglkjh
ewqytr

提示

代码如下

#include<stdio.h>
#include<string.h>
int main() {
	char str[100],t,str1[100],str2[100];
	int i,l,m=0,n=0;
	while(gets(str))
	{
		m=n=0;
		l=strlen(str);
		if(l%2==0)
		{
			for(i=l/2-1;i>=0;i--)
				str1[n++]=str[i];
			for(i=l-1;i>=l/2;i--)
				str2[m++]=str[i];
			str1[n]='\0';
			str2[m]='\0';
			strcat(str1,str2);
			str1[m+n]='\0';
		}
		else
		{
			for(i=(l-1)/2-1;i>=0;i--)
				str1[n++]=str[i];
			for(i=l-1;i>=(l+1)/2;i--)
				str2[m++]=str[i];
			str1[n]=str[(l-1)/2];
			str1[n+1]='\0';
			str2[m]='\0';
			strcat(str1,str2);
			str1[m+n+1]='\0';
		}
	printf("%s\n",str1);
	}	
	return 0;
}

代码来源于互联网,仅供参考!