| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2174 人关注过本帖
标题:翻转字符串
只看楼主 加入收藏
神少年
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-12-22
结帖率:83.33%
收藏
 问题点数:0 回复次数:20 
翻转字符串
题目描述

给出一个字符串,以及正整数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。。。提示我不太理解,所以我写了输入完毕再输出的代码,和输入一组数据输出一组的代码,但是都错了

搜索更多相关主题的帖子: 字符串 正整数 
2010-12-22 18:35
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
试验一下我的代码:
程序代码:
#include<stdio.h>
#define N 100
]
int main( void )
{
    char s[N],tmp;
    int i,j,n;

    scanf("%d",&n);
    while(n--)
    {
        scanf("%s",s);
        scanf("%d %d",&i,&j);
        tmp=s[i-1];
        s[i-1]=s[j-1];
        s[j-1]=tmp;
        puts(s);
    }

    return 0;

}

2010-12-22 19:31
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-22 20:24
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:0 
#include<stdio.h>
int main()
{
    char a[100],temp;
    int b,c,d,i,j;
    scanf("%d",&b);
    while (b--)
    {
        scanf("%s %d%d", a, &c, &d);
        --c;
        temp = a[c];
        a[c] = 0;
        printf("%s", a);
        a[c]=temp;
        for (j=d-1, i=c; j>=i; j--)
        {
            printf("%c", a[j]);
        }
        printf("%s\n", a+d);
    }
    return 0;
}

试试这个

樱之雪,晓之车
2010-12-22 20:38
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:0 
啊啦啦,题目说的是不仅仅交换i和j,是这中间一串交换,所以呢。。。。前面各位同学们的代码都错了啦,嘿嘿

樱之雪,晓之车
2010-12-22 20:40
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:0 
回复 4楼 马后炮
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-22 20:41
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:0 
楼上的你看错题了吧?我觉得我的代码没有问题,你的代码反而有点奇怪,没必要用二维数组吧?

樱之雪,晓之车
2010-12-22 20:48
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-22 20:58
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:0 
引用:
[ 本帖最后由 牛鼻子老道 于 2010-12-22 20:57 编辑 ]


说明你心虚把代码改了,但你嘴巴上不承认

你因什么原因说我不会ACM呢?其实如果你真的明白ACM的输入输出机制,你就会明白你写的二维数组是多余的,一般来说,通常是ACM新手才会用这样的方式保存大量不必要的输出

樱之雪,晓之车
2010-12-22 21:10
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-22 21:19
快速回复:翻转字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029033 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved