gpt4 book ai didi

c - 程序以二进制格式打印从 0 到给定数字的所有十进制数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:40 24 4
gpt4 key购买 nike

我是 C 的新手。我正在编写一个程序来打印从 0 到给定数字(由用户提供)的所有十进制数字,但我的输出不是我所期望的。我不明白我写的程序有什么错误....

#include <stdio.h>
int main()
{
int x,n;
printf("Enter any number\n");
scanf("%d",&x);
n=x;
printf("numbers in binary format\n");
while(n!=0)
{
int num[8]={0,0,0,0,0,0,0,0};
int y[8]={0,0,0,0,0,0,0,0};
int i=7;
while(x!=0)
{
y[i]=x%2;
x=x/2;
i=i-1;
}
while(i!=8)
{
printf("%d",y[i]);
i=i+1;
}
printf("\n");
n=n-1;
}
}

最佳答案

问题出在你的第一个循环上

    while(x!=0)
{
y[i]=x%2;
x=x/2;
i=i-1;
}

当这个循环结束时,在大多数情况下你的 i 将为 0,你的第二个 while 循环就是基于这个假设。

放一个

i = 0;

在你的第一个循环之后。它应该工作。

关于c - 程序以二进制格式打印从 0 到给定数字的所有十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24951285/

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