用c语言写一个程序:输入一个十进制整数,输出与其相等的二进制形式,将二进制保存在一个数组中,然后按相反的顺序输出,编写程序要求使用while语句
时间: 2023-06-16 12:02:48 浏览: 142
以下是一个示例程序,实现输入一个十进制整数并将其转换为二进制形式,并将结果保存在数组中,最后按相反的顺序输出二进制数:
```c
#include <stdio.h>
int main() {
int decimal, binary[32], i = 0;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
// convert decimal to binary
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
// print binary number in reverse order
printf("Binary equivalent: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
return 0;
}
```
程序首先提示用户输入一个十进制数,然后使用while循环将其转换为二进制形式,并将每一位二进制数保存在数组中。最后,使用另一个for循环反向输出数组中的每一位二进制数,得到最终的二进制形式。
相关问题
用c语言编写程序:输入一个十进制整数,输出与其相等的二进制形式,并将二进制保存在一个数组中,然后按相反的顺序输出,编写程序要求使用while语句。
好的,这是一个关于 C 语言编程的问题,根据你的要求,我可以回答。以下是一个示例程序:
```c
#include <stdio.h>
int main() {
int decimal, remainder, binary[32], i = 0;
printf("请输入一个十进制整数:\n");
scanf("%d", &decimal);
while (decimal > 0) {
remainder = decimal % 2;
binary[i] = remainder;
i++;
decimal /= 2;
}
i--; // 循环结束后,i 的值指向最后一位,需要减1才能指向最高位
printf("二进制形式为:\n");
while (i >= 0) {
printf("%d", binary[i]);
i--;
}
return 0;
}
```
该程序先通过 scanf() 函数从标准输入(键盘)获取一个十进制整数,然后使用 while 循环将该数转换为二进制数并存储在数组 binary 中,最后再使用 while 循环倒序输出数组即可。
用c语言程序编写(使用while语句):输入一个十进制整数,输出与其相等的二进制形式。将二进制保存在一个数组中,然后按相反的顺序输出。
```
#include <stdio.h>
int main()
{
int decimal, binary[32] = {0}, i = 0;
printf("请输入一个十进制整数:");
scanf("%d", &decimal);
while (decimal > 0)
{
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
printf("二进制形式为:");
for (int j = i - 1; j >= 0; j--)
{
printf("%d", binary[j]);
}
return 0;
}
```
运行结果:
```
请输入一个十进制整数:10
二进制形式为:1010
```
阅读全文