描述
小c才开始学习c语言,让他最烦恼的就是对字符数组的操作。小C的好朋友小E为了激励他,
\出了这样一个题目:字符串的移动输出。并给他许诺说,如果他能够在有限的时间内编写出这道题目的代码,
并顺利通过就请他去吃大餐,于是小C便认真的敲这个题目的代码去了,聪明的你也来练练手吧。
输入
第一行包括一个整数t,代表有t组数据;
每组数据第一行包括一个整数m(1<=m<=50),第二行有m个小写英文字符,第三行包括一个整数n(0<=n<=100),代表字符串向左移动n位。
输出
每组数据输入站一行,即输出移动后的字符串。
样例输入
3
5
asdfk
0
5
asdfk
1
5
asdfk
6
样例输出
asdfk
sdfka
小c才开始学习c语言,让他最烦恼的就是对字符数组的操作。小C的好朋友小E为了激励他,
\出了这样一个题目:字符串的移动输出。并给他许诺说,如果他能够在有限的时间内编写出这道题目的代码,
并顺利通过就请他去吃大餐,于是小C便认真的敲这个题目的代码去了,聪明的你也来练练手吧。
输入
第一行包括一个整数t,代表有t组数据;
每组数据第一行包括一个整数m(1<=m<=50),第二行有m个小写英文字符,第三行包括一个整数n(0<=n<=100),代表字符串向左移动n位。
输出
每组数据输入站一行,即输出移动后的字符串。
样例输入
3
5
asdfk
0
5
asdfk
1
5
asdfk
6
样例输出
asdfk
sdfka
sdfka
#include<stdio.h>
int main()
{
int N,n,i,k,h;
char a[100],b[100],c;
scanf("%d",&N);
while(N--)
{
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
c=getchar();
a[i]=c;
}
a[i]='\0';
getchar();
scanf("%d",&k);
k=k%n;
k=n-k;
for(i=0;i<n;i++)
{
h=(i+k)%n;
b[h]=a[i];
}
b[n]='\0';
printf("%s\n",b);
}
return 0;
}