gpt4 book ai didi

c - 使用给定数组在 C 中反转数组

转载 作者:行者123 更新时间:2023-11-30 19:31:25 24 4
gpt4 key购买 nike

我在用 C 语言实现数组反转时遇到了麻烦。我正在使用 linux/nano,而且我们才刚刚开始,所以只教授了很少的内容。下面的代码是我所拥有的,数组将打印输入的任何整数的二进制数,但在这段代码中,二进制数与应有的相反。

#include "stdio.h"

#define MAX_BITS 32

int main()
{
int num;
printf("Enter a valid positive integer: ");
scanf("%d", &num);

int array[MAX_BITS];
int bit, val;
int numDown = 1;
while (numDown <= num)
{
val = numDown;

while (val > 0)
{
bit = val % 2;
printf("%d",bit);
val = val / 2;
}

printf("\n");
numDown = numDown + 1;

}

return 0;

}

我知道我需要一个 while 循环,但我不确定如何去做。

最佳答案

#include <stdio.h>
#define MAX_BITS 32
int main()
{
int num;
printf("Enter a valid positive integer: ");
scanf("%d", &num);

char array[MAX_BITS];
int index = MAX_BITS - 1;
int temp = num;
do
{
array[index--] = temp % 2;
temp /= 2;
}while(temp != 0);
printf("Binary of %d is: ", num);
for (int i = index + 1; i < MAX_BITS; ++i )
{
printf("%d", array[i]);
}
printf("\n");
return 0;
}

关于c - 使用给定数组在 C 中反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48697612/

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