uuubub 2022-10-10 20:43 采纳率: 100%
浏览 132
已结题

编程实现十进制整数和八进制整数之间的转换(即将10进制数转换为8进制数,或将8进制数转换为10进制数)。

问题遇到的现象和发生背景

循环结构如何做,八进制转换10进制也不会

用代码块功能插入代码,请勿粘贴截图

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int u,num, m, c, i = 0;
int v = 8;
int a[32];
char g;
char* p, s[6]; // 18^2+08^1+0*8^0
int d;
printf("\n 进制转换系统\n1、八进制转换为十进制\n2、十进制转换为八进制\n\n ");
printf("请选择序号1或2:");
scanf("%d",&u);
if(u==2)
{
printf("请输入欲转换的数据:");
scanf("%d",&num);
m = num;
while (num > 0)
{
c = (num % v);
a[i] = c;
num = num / v;
i++;
printf("转换为:");
for (i--; i >= 0; i--)
printf("%d", a[i]);
printf("是否继续转换?y/n:");
scanf("%c",&g);
if(g=='y')
{
return 1;
}
if(g=='n')
{
printf("谢谢使用,再见!\n");
}
}

}
if(u==1)
{
    printf("请输入欲转换的数据:");
    p=s;
    gets(p);
    d = 0;
    while (*p)
    {
        d =d * 8 + *(p++) - '0';
        printf("转换为%d\n", d);
        printf("是否继续转换?y/n:");
        scanf("%c",&g);
        if(g=='y')
        {
            return 1;
        }
        if(g=='n')
        {
            printf("谢谢使用,再见!\n");
        }
    }
    return 0;
}

}

运行结果及报错内容

img

我想要达到的结果

编程实现十进制整数和八进制整数之间的转换(即将10进制数转换为8进制数,或将8进制数转换为10进制数)。

img

  • 写回答

1条回答 默认 最新

  • 关注
    
    
    ```c
    dec = int(input("输入数字:"))
    
     
    
    print("十进制数为:", dec)
    
    print("转换为二进制为:", bin(dec))
    
    print("转换为八进制为:", oct(dec))
    
    print("转换为十六进制为:", hex(dec))
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿