拨雪寻春640 2022-09-28 15:57 采纳率: 62.9%
浏览 30
已结题

想问一下这个程序出什么问题了?永远比样例输出少一位

#include<stdio.h>
#define N 100
int main()
{
int n, a[N], b;
int i = 0;

while (scanf_s("%X", &n) == 1 )
{
    b = n;
    {while (n > 0)
    {
        a[i] = n % 2;
        i = i + 1;
        n = n / 2;
    }
    printf("0b");
    for (i--; i >-1; i--)
    {
        printf("%d", a[i]);
    }
    printf("\n");
    }
    printf("0%o\n", b);
    printf("%d\n", b);
    printf("0x%x\n", b);
}

}

img

想问一下这个程序出什么问题了?永远比样例输出少一位

  • 写回答

2条回答 默认 最新

  • 於黾 2022-09-28 16:34
    关注

    i在循环里没有初始化,导致只有第一次结果正确,后续循环中i的值是从-1开始的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 修改了问题 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。