gpt4 book ai didi

c - 编写一个函数,显示三个不同数字的所有不同组合

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

我的函数 my_putchar

#include <unistd.h>
void my_putchar(char c)
{
write(1, &c, 1);
}

我的函数 my_print_comb

#include <unistd.h>
int my_putchar(char c);
void my_print_comb(void)
{
int i;
int j;
int k;
for(i = 48; i <= 57; ++i)
{
my_putchar(i);
for(j = 48; j <= 57; ++j)
{
for(k = 48; j <= 57; ++k)
{
}
}
}
}

my_putchar(',');
my_putcahr(' ');
my_putchar('\n');
}

和我的主要:

#include <unistd.h>
int my_print_comb(void);
int main ()
{
my_print_comb();
return (0);
}

所以我想用 ./ex | 按顺序编写所有组合。猫 -e

the combi 012, 013, 014, ..., 789$

我尝试使用这个函数,但我只写了像这样的错误:A@^

最佳答案

您的内部循环正在测试错误的变量。您没有在内循环中打印三位数字。我还改用字符常量“0”和“9”,以便更容易阅读和错误检查代码。 (我认为您的原始代码中没有输入错误 putcahr。)

编辑添加:抱歉,我错过了问题中的“不同”一词。我将把它的具体实现作为练习留给读者,因为您没有发布任何尝试检查它的代码。但是在内部代码块周围添加一个 if 检查应该可以做到这一点: if(test){my_putchar(i); my_putchar(j);...}

void my_print_comb(void)
{
int i;
int j;
int k;
for(i = '0'; i <= '9'; ++i)
{
for(j = '0'; j <= '9'; ++j)
{
for(k = '0'; k <= '9'; ++k) // k, not j, is tested against '9'
{
my_putchar(i);
my_putchar(j);
my_putchar(k);
my_putchar(',');
my_putchar(' ');
}
}
}
}

关于c - 编写一个函数,显示三个不同数字的所有不同组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52935546/

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