c语言编程实现,制作一个计算器,可实现加减乘除取匀,十进制转换成二进制,8进制,16进制。谢谢

大一... 大一 展开
 我来答
百度网友9ec2ebb
2018-11-06 · TA获得超过404个赞
知道答主
回答量:75
采纳率:68%
帮助的人:18.1万
展开全部

#include<stdio.h>                          /*函数头:输入输出头文件*/

void main()                                /*空类型:主函数*/

{

int a,b,d;                             /*定义变量的数据类型为整型*/

char c;                                /*定义变量的数据类型为字符型*/

printf("输入如“3*4”或“5+2”的四则运算式:");      /*输出文字提示*/

scanf("%d%c%d",&a,&c,&b);              /*输入四则运算式*/

switch(c)                              /*判断运算符号*/

{

case'+':d=a+b;break;                   /*进行加法运算*/

case'-':d=a-b;break;                   /*进行减法运算*/

case'*':d=a*b;break;                   /*进行乘法运算*/

case'/':d=a/b;break;                   /*进行除法运算*/

}

printf("%d%c%d=%d\n",a,c,b,d);         /*输出结果*/

}

int main(){
int a,b,c[10000],i=0,j=0;
printf("请输入想转换的a进制:a= ");
scanf("%d",&a);
switch (a)
{
    case 2:
    printf("请输入一个十进制:b= ");
    scanf("%d",&b);
    do
    {
        c[i]=b%2;
        b=b/2;
        i++;
        j++;
    }
    while(b!=1);
    c[j]=1;
    printf("二进制为: ");
    for(i=j;i>=0;i--)
        printf("%d",c[i]);
    break;
    case 8:
    printf("请输入一个十进制:b= ");
    scanf("%d",&b);
    do
    {
        c[i]=b%8;
        b=b/8;
        i++;
        j++;
    }
    while(b!=0);
    printf("八进制为: ");
    for(i=j-1;i>=0;i--)
    printf("%d",c[i]);
    break;
    case 16:
    printf("请输入一个十进制:b= ");
    scanf("%d",&b);
    do
    {
    c[i]=b%16;
    b=b/16;
    i++;
    j++;
    }
    while (b!=0);
    printf("十六进制为: ");
    for(i=j-1;i>=0;i--)
    printf("%d",c[i]);break;
    default:printf("错误\n");
    }
}
更多追问追答
追问
确实可行么😳
追答
可以的,只不过是分开写了两个功能
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式