学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

关于动态分配+算法

原来如此!!果然巧妙,飞燕功底非我等凡俗所能达到的啊……真心仰慕……
专心编程………
飞燕算法初级群:3996098
我的Blog

TOP

与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循环就出错了,申请空间应该是一次性的!

TOP

发新话题