#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d", &n);
char r;
r = getchar();
while (n--)
{
char ch[1000] = { 0 };
gets(ch);
int len = strlen(ch);
int m = ch[len - 1] - 48;
char a[1000] = { 0 }, b[1000] = { 0 };
for (int i = 0; i < m; i++)
a[i] = ch[i];
int k = 0;
for (int i = m + 1; i < len - 2; i++)
{
b[k] = ch[i];
k++;
}
char fu[200];
for (int i = 0; i < len - m - 1; i++)
printf("%c", b[i]);
printf("%c", ch[m]);
for (int k = 0; k < m; k++)
printf("%c", a[k]);
printf("\n");
}
return 0;
}
VS编译运行可以,但是在oj上答案错误
示例中1和3对不上
int main()
{
int n;
scanf("%d", &n);
while (n--)
{
char ch[100] = {0}, a[100] = {0}, c;
int m, t = 0;
scanf("%s%d", ch, &m);
int len = strlen(ch);
c = ch[m];
for (int i = m; i < len; i++, t++) //复制ch中m之后的到a
a[i - m] = ch[i];
for (int i = m - 1; i >= 0; i--, t++) //复制ch中m前的到a,倒序
a[t] = ch[i];
printf("%s\n", a);
}
return 0;
}