标题:关于动态分配+算法
只看楼主
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
原来如此!!果然巧妙,飞燕功底非我等凡俗所能达到的啊……真心仰慕……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-06 21:59
daocaorenhe
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-4-22
得分:0 
与LZ思路接近的一个算法
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <iostream.h>

void main()
{
    char *p, inputletter, myletter;
    int k, i, j, mid;
    long  size;

    scanf("%c", &inputletter);

    k = inputletter - 64;
    size = (long )(pow(2, k) - 1);
    p = (char *)malloc(size);
  
    p[0] = 65;
    myletter = 65;
    mid = 0;

    while (myletter <= inputletter)
    {
        p[mid] = myletter;
        i = mid - 1;
        j = mid + 1;
        for (;;i--, j++)
        {
            if(i < 0)
            {
                j = j - 1;
                break;
            }
            p[j] = p[i];
        }
        mid = j + 1;
        myletter += 1;
    }
puts(p);
free(p);
}



LZ的错误没仔细看,但是一开始处的for循环就出错了,申请空间应该是一次性的!
2008-05-07 08:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-212520-1-1.html




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

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