acmc 2021-11-29 22:07 采纳率: 91.8%
浏览 9
已结题

为什么10进制转换成2进制要输入两个数字而且输出结果也不对

img


#define _crt_secure_no_warnings
#include<stdio.h>
void menu()
{
printf("\n\n\tCalculator Menu");
printf("\n\t================");
printf("\n1. Add 2 number.");
printf("\n2. Divide 2 number.");
printf("\n3. Multiply 2 number.");
printf("\n4. Modulus of 2 numbers.");
printf("\n5. Convert Decimal to Binary.");
printf("\n6. Convert Decimal to Otcal.");
printf("\n7. Convert Decimal to Hexadecimal.");
printf("\n\n\tx. To exit");
}

int main()
{
int a[100];
int i,x,j,num,select,count = 0;
do
{ menu(); //打印出菜单界面
printf("\nPlease select an option : ");
scanf("%d", &select); //输入你的选项
printf("请输入计算值:");
scanf("%d%d", &i, &j); //输入要计算的数值
switch (select)
{
case 1://实现加法功能
printf("%d+%d=%d\n", i, j, num = i + j);
break;
case 2: //实现减法功能
printf("%d-%d=%d\n", i, j, num = i - j);
break;
case 3:// 实现乘法功能
printf("%d*%d=%d\n", i, j, num = i*j);
break;
case 4: //实现除法功能
printf("%d/%d=%d\n", i, j, num = i / j);
break;
case 5:
do{
a[count++]=x%2;
x=x/2;
}while(x!=0);

         for(int i=count-1;i>=0;i--){
         printf("%d",a[i]);}
    case 0:
        printf("退出计算器");
        break;
    default:
        printf("错误输入,请重新输入");
        break;
    }

} while (select);
return 0;

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月7日
    • 修改了问题 11月29日
    • 创建了问题 11月29日

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料