【问题描述】对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数使用c语言 【输入形式】非负十进制整数 【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,提示错误,重新输入 ,先判断输入是否符合非负正整数要求
时间: 2023-05-29 20:07:58 浏览: 152
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
printf("请输入一个非负十进制整数:");
scanf("%d", &num);
if(num < 0)
{
printf("输入错误,请重新输入非负十进制整数:");
scanf("%d", &num);
}
printf("转换为八进制数为:%o", num);
return 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语言
可以使用sprintf()函数将十进制整数转换为八进制字符串,然后再输出该字符串。示例代码如下:
```c
#include <stdio.h>
int main() {
int decimal_num = 12345;
char octal_str[20]; // 预留足够的字符串空间
sprintf(octal_str, "%o", decimal_num);
printf("Octal equivalent of decimal %d is %s\n", decimal_num, octal_str);
return 0;
}
```
输出结果为:
```
Octal equivalent of decimal 12345 is 30071
```
阅读全文