输入一个整数n,接下来输入n行字符串,对每行的字符串,请将前一半字符移动后一半字符后面,如果字符总数为奇数,则前一半少一个,后一半多一个处理。
运行代码:3
abc123 //输入
123abc //输出
abcd1234 //输入
1234abcd //输出
123456789 //输入
567891234 //输出
需要用到strlen
程序代码:#include <stdio.h>
#include <string.h>
void foo( char* s )
{
size_t n = strlen(s);
if( n%2 == 0 )
{
for( size_t i=0; i!=n/2; ++i )
{
char t = s[i];
s[i] = s[n/2+i];
s[n/2+i] = t;
}
}
else
{
char t = s[0];
for( size_t i=n/2; i!=0; i=(i+n/2)%n )
s[(i+n/2+1)%n] = s[i];
s[n/2+1] = t;
}
}