| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 645 人关注过本帖
标题:关于字符串重新整理的问题
只看楼主 加入收藏
weiqiang
Rank: 2
等 级:论坛游民
帖 子:48
专家分:52
注 册:2010-10-18
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:3 
关于字符串重新整理的问题
字符串整理:将形如 A4A2Z9Q7Q5A3B3B4A7 的字符串,整理成形如 A2-4A7B3-4Q5Q7Z9 的字符串。
整理前字符串说明:字符串只有字母和数字,字母和数字以成对的形式出现,并且字母在前。数字只有1-9,且没有重复的对。
整理规则:如果有若干个对的字母相同,且数字是连续的,例如有A1B2A2A4A3字符串,其中A1,A2,A3,A4,四对的字母相同,并且数字是连续的,可以将其合并,即在此字母后用'-'标出数字的范围,例如上述四对可以合并成A1-4。然后再以字母为主序,以数字为次序进行了升序排序。
 
对于这个题目我是思路是想先按字母生序排列,再按数字升序排列,最后合并数字,但我不知道如何合并数字,请大家帮一帮我如何解决这个问题,顺便问一下有其他思路吗
搜索更多相关主题的帖子: 字符 
2010-10-18 21:22
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:14 
你所谓的合并不就是找连续数里最大和最小么?不难吧

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-18 21:24
weiqiang
Rank: 2
等 级:论坛游民
帖 子:48
专家分:52
注 册:2010-10-18
收藏
得分:0 
中间不是有字母间隔吗?
2010-10-18 21:47
weiqiang
Rank: 2
等 级:论坛游民
帖 子:48
专家分:52
注 册:2010-10-18
收藏
得分:0 
/***功能:对字符串进行整理***/
#include<stdio.h>
#include<string.h>
#define M 50
void main()
{   void Sort(char s[],int n);
    char str[M];
    int len;
    printf("请输入字符串str:");
    gets(str);
    len=strlen(str);     /*计算字符串的长度*/
    Sort(str,len);       /*调用排序函数*/
}

void Sort(char s[],int n)
{
    int i,j;
    char temp;
    for(j=0;j<n;j=j+2)        /*冒泡排序,以字母顺序排序*/
    {
        for(i=0;i<n-j;i=i+2)
        {
            if(s[i]>s[i+2])
            {
                temp=s[i];
                s[i]=s[i+2];
                s[i+2]=temp;
                temp=s[i+1];
                s[i+1]=s[i+3];
                s[i+3]=temp;
            }
        }
    }

    printf("%s",s);
}

我对字母升序排序程序如上,编译时不知怎么输不出结果?我郁闷啊
2010-10-18 21:57
快速回复:关于字符串重新整理的问题
数据加载中...
 
   



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

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