描述
小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; }