| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖, 1 人收藏
标题:求助,有一道题我怎么也做不出来
取消只看楼主 加入收藏
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:7 
求助,有一道题我怎么也做不出来
输入一个长为2^k(k≤8)01串s,按照"ABC编码规则"进行编码,ABC编码规则是:
     {  A             //若s串全是0
T(s)={  B             //若s串全是1
     {  CT(s1)(s2)    //否则把s串分成两个等长的字串s1和s2

例如:
    T(01001011)
   =CT(0100)T(1011)
   =CCT(01)T(00)CT(10)T(11)
   =CCCT(0)T(1)ACCT(1)T(0)B
   =CCCABACCBAB
2013-04-11 12:18
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 2楼 yctchxf
就是具体的函数我怎么也写不出来,你能不能写一个让我看一下。感觉递归里有些细节想不明白。。
2013-04-11 13:06
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 5楼 fanpengpeng
谢了,只是能不用指针么?不用指针好像能做出来的
2013-04-11 18:49
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 4楼 yuccn
谢了,但是能不用这么复杂的么?好多没见过
2013-04-11 18:50
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 8楼 fanpengpeng
不用了,我已经自己做出来了,根本不用你那么复杂的,其实很简单。然后你说的我能不用计算机,用笔算么。不好意思,这个得向我老师,向那些蛋疼的教育问去,谢谢
2013-04-12 18:57
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 12楼 beyondyf
用strlen()就可以了。
2013-04-12 18:58
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
回复 9楼 czzdcn123
不知道你什么心理。
2013-04-12 18:58
q545766943
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-11
收藏
得分:0 
自己借鉴同学写,应该是对的。
程序代码:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define N 256
char a[N];
void Trans(int x, int y);
void Trans(int x, int y)
{
    int i, flag=0;
    for(i=x; i<=y; i++)
    {
        if(a[i] == 48)
            flag =flag + 1;
        else
            flag =flag - 1;
    }
        if(flag == y-x+1)
        printf("A");
    else
    {
        if(flag == x-y-1)
            printf("B");
        else
        {
            printf("C");
            Trans(x, (x+y-1)/2);
            Trans((x+y+1)/2, y);
        }
    }
}
void main(void)
{
    int x, y;
    printf("请输入长为2^k(k<=8)的01串(按回车结束输入):" );
    scanf("%s",a);
    x = 0;
    y = strlen(a)-1;
    Trans(x, y);
    getch();
}
    


            



2013-04-12 19:01
快速回复:求助,有一道题我怎么也做不出来
数据加载中...
 
   



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

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