生成C中长度为N的所有字符串

发布时间:2019-10-09 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了生成C中长度为N的所有字符串脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我自己尝试编码并且非常失败.这基本上就是我想要的:
a
b
...
z
aa
ba
...
za
ab
bb
...
zz
aaa
baa
...
zzz

最后它应该生成每个字符串,使用字符集a-z生成短于N个字符的字符串.所以我不是在寻找排列(在互联网上可以找到1001个实现),但是对于替换的组合(至少在Python中它是如何调用的).订单并不重要,速度是.

解决方法

看起来你想要它在C中,这是一种方法:
#include <stdlib.h>
#include <stdio.h>

int inc(char *c){
    if(c[0]==0) return 0;
    if(c[0]=='z'){
        c[0]='a';
        return inc(c+sizeof(char));
    }   
    c[0]++;
    return 1;
}

int main(void){
    int n = 3;
    int i,j;
    char *c = malloc((n+1)*sizeof(char));
    for(i=1;i<=n;i++){
        for(j=0;j<i;j++) c[j]='a';
        c[i]=0;
        do {
            printf("%s\n",c);
        } while(inc(c));
    }
    free(c);
}

总结

以上是脚本之家为你收集整理的生成C中长度为N的所有字符串全部内容,希望文章能够帮你解决生成C中长度为N的所有字符串所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。

快乐,其实很简单!比如有我~

关注我升职加薪

标签: