用c语言编写程序,对于输入的任意一个非负十进制整数,输出与其等值的八进制数。
时间: 2023-06-18 16:07:47 浏览: 254
以下是用C语言编写的程序,可以将输入的十进制整数转换为相应的八进制数并输出:
```c
#include <stdio.h>
int main() {
int decimal, octal = 0, count = 0, remainder;
printf("请输入一个非负十进制整数:");
scanf("%d", &decimal);
if (decimal == 0) {
printf("相应的八进制数为 0");
return 0;
}
while (decimal > 0) {
remainder = decimal % 8;
octal += remainder * pow(10, count);
decimal /= 8;
count++;
}
printf("相应的八进制数为 %d", octal);
return 0;
}
```
程序的基本思路是将输入的十进制整数不断除以8,每次取余数并将其乘以相应的权值,最后将这些乘积加起来即可得到相应的八进制数。需要注意的是,当输入的十进制整数为0时,相应的八进制数也为0,需要进行特判。
相关问题
用C语言写程序,对于输入的任意一个非负十进制整数打印输出与其等值的八进制数
可以使用 C 语言中提供的 `printf` 函数,其中 `%o` 表示输出八进制数。具体实现如下:
```c
#include <stdio.h>
int main() {
int decimal;
printf("请输入一个非负十进制整数:");
scanf("%d", &decimal);
printf("等值的八进制数为:%o\n", decimal);
return 0;
}
```
程序首先提示用户输入一个非负十进制整数,并通过 `scanf` 函数将其存储在 `decimal` 变量中。接着使用 `printf` 函数输出 `decimal` 的八进制表示,其中 `%o` 是输出八进制数的格式控制符。最后返回 0 表示程序正常结束。
使用c语言 对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数
```c
#include <stdio.h>
int main() {
int dec, oct = 0, base = 1;
printf("请输入一个非负十进制整数:");
scanf("%d", &dec);
while (dec > 0) {
oct += (dec % 8) * base;
dec /= 8;
base *= 10;
}
printf("对应的八进制数为:%d\n", oct);
return 0;
}
```
阅读全文