翻转字符串
题目描述给出一个字符串,以及正整数i,j,请将字符串从第i个位置到第j个位置的内容反转过来。
输入
本题包含多组测试样例。首先第一行给出整数N,表示随后有N组测试样例。每组测试样例输入一行,内容为待处理字符串(不超过30个字符且中间没有空格等分隔符),正整数i,j(1<=i<=j<=字符串长度),三者之间用空格分离。
输出
翻转后的结果,每组占一行
样例输入
2
abc 1 3
abcde 2 4
样例输出
cba
adcbe
提示
请设法让你的程序每读入一组数据便处理好一组然后输出,再读入下一组。虽然在你的电脑上看会有点怪异,但是我们测试的时候会将输入输出分开,从而呈现出题目给出的形式。不要用数组存放多组数据的结果然后最后一次输出。
#include<stdio.h>
int main()
{char k,a[100],temp;
int b,c,d,i,j;
scanf("%d ",&b);
while(b!=0)
{for(i=1;;i++)
{
scanf("%c",&a[i]);
if(a[i]==' ')
{
i--;
scanf("%d%d",&c,&d);
break;
}}
temp=a[c];
a[c]=a[d];
a[d]=temp;
for(j=1;j<=i;j++)
{
printf("%c",a[j]);
}scanf("%c",&k);
printf("\n");b--;}
return 0;
}
这是我的代码,运行无误。。还是得不到ac。。。提示我不太理解,所以我写了输入完毕再输出的代码,和输入一组数据输出一组的代码,但是都错了