| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3905 人关注过本帖
标题:关于动态分配+算法
取消只看楼主 加入收藏
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
 问题点数:0 回复次数:7 
关于动态分配+算法
实现这样一个函数:   
输入A-Z其中一个字母,比如你输入A那么就输出A,输入B就输出ABA  

   INPUT:      OUTPUT:   
     A           A   
     B           ABA   
     C           ABACABA   
     D           ABACABADABACABA   
     E           ABACABADABACABAEABACABADABACABA  
代码::
程序代码:
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
//#include <string.h>
//#define NULL 0 
//char p[100]={0};

int main() 
{ 
    char letter,*p;
    int i,size; 
    scanf("%c",&letter);
    if(letter<65||letter>90)
        printf("Error\n");
    else
    {
        for(i=1;i<=letter-64;i++)
        {
            size=(int)pow(2,i);
            p = (char *)malloc(size+1);
            if(p!=NULL)
            {
            if(i==1)
            {
                p[0]=i+64;
                p[1]='\0';
            }
            else
            {
                for(int k=0; k<size/2-1; k++)
                {
                    p[k] = p[k];
                    p[size/2+k] = p[k];
            
                }
                p[size/2-1] = i+64;
            }
            }
        
        }
    }
    puts(p);
    free(p);
    return 0; 
}

我用固态分配数组空间,可以实现的(算法应该正确),但要p[2^26]这么大的空间,浪费!
用动态分配(代码如上),怎么输出乱码?怎么回事????
求高人!
搜索更多相关主题的帖子: 算法 动态 include ABA int 
2008-05-05 16:11
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
用飞燕的代码高亮,怎么没亮起来!
郁闷了!偶水平太次了!

我来自偶然! bitter C
2008-05-05 16:13
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
恩!sunkaidong,帮我看下!

我来自偶然! bitter C
2008-05-05 16:18
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
人呢?
晚上回来再看!

我来自偶然! bitter C
2008-05-05 16:50
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
似乎回来晚了!
各位 程序写的很精妙!谢谢!
先学习了!
但是 好像 没有解决我的问题!为什么我程序不行!
继续求————————??

我来自偶然! bitter C
2008-05-05 22:25
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
看来大家很喜欢讨论算法!以后有好东东就放上去了
飞燕两个代码 空间换时间 最好例子!

我来自偶然! bitter C
2008-05-05 22:50
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
今天一大早就打开帖子!昨天研究大家代码很晚!谢谢各位!
koolism说出提问者有时候的心声!(*^__^*) 嘻嘻……!
也谢谢StarWing83,解决了我的问题!

我来自偶然! bitter C
2008-05-06 07:35
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
再次感谢StarWing83!
看了大家的代码,我的代码不算程序代码了!敲入Z,CPU达到100%,想想我的代码!汗
想不到大家这么热情,各种思路百花齐放,我想大家最希望就是这种效果!我以后也多提供这些题目,多多向各位请教!讨论推动算法进步!
最后还是问个题目:
燕子那个代码是根据什么思路来的:
程序代码:
 while (d<=n)
        {
            putchar('A'+d);
            ++str[0];
            for (d=0; str[d]>1; ++d)
            {
                ++str[d+1];
                str[d] = 0;
            }
        }

在纸上画了一大推,貌似明白,又不~~~

我来自偶然! bitter C
2008-05-06 12:26
快速回复:关于动态分配+算法
数据加载中...
 
   



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

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