| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1363 人关注过本帖
标题:有没有大神能来想个简单的方法???
只看楼主 加入收藏
南阳诸葛庐
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-4-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
有没有大神能来想个简单的方法???
输入一个字符串,然后将其按照以下要求输出:先输出倒数第一个字母,然后输出第一个字母,再输出倒数第2.3个字母,然后输出正数第2,3个字母。直到字符串的所有字母都输出了。输入包含T(T<=1000)组测试数据,每组数据包含一个字符串,字符串长度不会超过1000。输出按照要求输出,每组占一行。样例输入
1
abcdefghijk
样例输出
kajibchgfde
搜索更多相关主题的帖子: 字符串 倒数 字母 
2017-04-23 22:17
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:5 
用两个字符串保存数据。一个正序,一个逆序。输出的时候分别从正序的读一个,逆序的读一个。每个字符串读一半就好了。(注意区别处理字符串长度为奇数和偶数的特殊情况)



φ(゜▽゜*)♪
2017-04-23 22:53
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char cTest[] = "abciuklmn";
    int nStart = 0;
    int nEnd = strlen(cTest) - 1;
    int nTmp = 0;
    int i = 0;
    printf("Input:%s\n", cTest);
    printf("Output:");
    while(nStart <= nEnd)
    {

        for(i=0; i <= nTmp; i++)
        {
            if(nStart >= nEnd)
            {
                break;
            }
            else
            {
                printf("%c", cTest[nEnd]);
                nEnd--;
            }
        }

        for(i=0; i <= nTmp; i++)
        {
            if(nStart > nEnd)
            {
                break;
            }
            else
            {
                printf("%c", cTest[nStart]);
                nStart++;
            }
        
        }

        nTmp++;
    }
    printf("\n");
    return 0;
}
2017-04-23 23:12
shuanggege
Rank: 2
等 级:论坛游民
帖 子:11
专家分:22
注 册:2017-4-8
收藏
得分:0 
准确的说是
  1、总数为偶数:0123456789十个数 排序为:9 0 8 1 7 2 6 3 5 4 分为两组遍历: (1)9 8 7 6 5 ;(2)0 1 2 3 4 ;把(2)插入到(1)中;
  2、奇数:同上;
2017-04-23 23:32
平平小黄
Rank: 2
等 级:论坛游民
帖 子:15
专家分:28
注 册:2016-9-27
收藏
得分:5 
#include<stdio.h>
#include<string.h>
int main()
{
    char s[1001];
    int a,b,c=1;
    gets(s);
    b=a=strlen(s);a=a-1;
    printf("%c%c",s[a],s[0]);
    while(c<b/2)
    {
            printf("%c",s[a-c]);
        if(c+1!=b/2)
            printf("%c",s[a-c-1]);

            printf("%c",s[c]);
        if(c+1!=b/2)
            printf("%c",s[c+1]);
        c+=2;



    }
    if(b%2!=0)printf("%c",s[b/2]);
    return 0;
}
2017-04-24 23:56
快速回复:有没有大神能来想个简单的方法???
数据加载中...
 
   



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

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