gpt4 book ai didi

c - 0 和 1 的排列

转载 作者:行者123 更新时间:2023-11-30 21:46:10 27 4
gpt4 key购买 nike

如何编写一个 C 程序,给定我的 n 数字(从 1 到 10),结果是 0 和 1 的排列。例如,假设n = 2。我的输出必须类似于:00; 0110; 11。依此类推,对于n = 3,将有 8 种可能的排列(000, 001, 010, 100, 101, 110, 011, 111)

我对代码有一些限制:

  • 我唯一可能的库是 stdio.h(鉴于不允许使用 math.h);

  • 不允许继续和中断;

  • 每个函数必须有一个返回值;

  • 也不允许按位运算符;

现在谢谢。

编辑:实际上,这个程序比这个大得多,我已经实现了所有其他部分,但我无法解决这部分。

最佳答案

#include <stdio.h>

#define PROC_BEGIN \
++i; \
for(char bit = '0' ; i != n && bit < '2'; ++bit){\
bits[i] = bit; \
if(i+1 == n) \
puts(bits); \
/**/

#define PROC_END \
} \
--i; \
/**/

int main(void){
char bits[10+1] = {0};
int n, i = -1;
scanf("%d", &n);

PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_BEGIN
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
PROC_END
return 0;
}

关于c - 0 和 1 的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44296989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com