weixin_57035750 2021-06-30 09:47 采纳率: 100%
浏览 71
已采纳

用C语言编一个简单计算器的代码,能实现四则运算和开放

我把各个函数编出来了,但没办法连起来使用,尤其是开方这个,求大佬解答

  • 写回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-06-30 09:50
    关注
    /*项目名称:简单计算器
    项目拓展:除了加减乘除之外要求该程序能实现平方根、倒数、幂次方功能
    */
    
    #include <stdio.h>
    #include <math.h>
    
    void main()
    {
    
        int a , b;  //声明两个整形变量,作为计算器运算的基数
        char op;      //字符型变量,作为表现的运算符号
    
        while (1) //while(1)可以进行无限循环,达到计算器运算的要求
        //相对而言的,while (0)就代表不会运行其中的循环语句
        {
            printf("--------------------------\n");
            printf("请输入两个操作数和运算符\n");
            scanf_s("%c", &op);       //输入使用字符类型%c
            scanf_s("%d %d", &a, &b);
            int s = sqrt(a); int p = pow(a, b);  //对于一些不好运算的计算,可先算完
            switch (op)     //switch函数将输入的变变量代入以下不同情况来进行运算
            {
    
             case'+':
                printf("%d+%d=%d\n", a, b, a + b); break;//加法运算
             case'-':
                printf("%d-%d=%d\n", a, b, a - b); break;//减法运算
             case'*':
                printf("%d*%d=%d\n", a, b, a * b); break;//乘法运算
             case'/':
                printf("%d/%d=%d\n", a, b, a / b); break;//除法运算
             case'|':
                printf("%d的平方根=%d\n", a, s); break;  //平方根运算
             case'$':
                printf("%d/%d的倒数=%d\n", a, b, b / a); break;//倒数运算
             case'^':
                printf("%d的%d次幂=%d\n", a, b, p); break;//幂次方运算
    
             default:printf("ERROR!!!!!\n"); break;//switch函数运行时,如果输入没有定义好的变量情况
                //则输出所有其他情况的结果
    
            }
            getchar();
            /*前面调用了scanf读取字符的函数,则需键入新值调用getchar(),因为scanf的调
            用必须使用回车键才能执行,因此除了字符变量op还有回车键也在缓存区中
            因此需要调用getchar函数将读入的字符带给程序*/
        }
    }
    

    如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

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

报告相同问题?

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?