当字符串左移时,正序排序;
当字符串右移时,倒序排序;
初学者的烦恼
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
小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>
#include<string.h>
int main()
{
int t;
scanf("%d",&t);
getchar();
while(t--)
{ int m,j;
scanf("%d",&m);
getchar();
char s[10010];
scanf("%s",s);
int head=0,tail=m;
scanf("%d",&j);
while(j--)
{
s[tail]=s[head];
head++;
tail++;}
for(int i=head;i<tail;i++)
printf("%c",s[i]);
printf("\n");}return 0;
}
字符串右移
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
LZQ最近迷上了字符串,于是他有一个问题想考你,聪明的你一定知道答案。问题如下:给你一个字符串,让你对其进行向右移动K次,输出新的字符串。
输入
输入数据有多组,每组有一个字符串STR与一个数字K,表示对字符串STR向右移动K位。
输出
输出新的字符串STR1.
样例输入
abcd1234 4
sdfe123f 10
样例输出
1234abcd
3fsdfe12
来源
上传者
字符串右移:
#include<stdio.h>
#include<string.h>
int main()
{
char s[10010];
while(~scanf("%s",s))
{
char a[1010];
int ln=strlen(s);
int j,head=0,tail=ln,k=0;
scanf("%d",&j);
for(int i=ln-1;i>=0;i--)
a[k++]=s[i];
while(j--)
{
a[tail]=a[head];
head++;
tail++;}
for(int i=tail-1;i>=head;i--)
printf("%c",a[i]);
printf("\n");}return 0;
}