编程一个计算器,首先键盘输入要运算的数据,第二步选择运算符,实现简单的加减乘除和乘方,开方,绝对值

首先键盘输入要运算的数据,第二步选择运算符,实现简单的加减乘除和乘方,开方,绝对值

你题目的解答代码如下:


#include <stdio.h>
int main(int argc, char** argv)
{
    float  a,b;
    char op;
    END:printf("请输入算式:");
    scanf("%f%c%f",&a,&op,&b);
    switch(op)
    {
        case '+':
            printf("%g+%g=%g\n",a,b,a+b);break;
        case '-':
            printf("%g-%g=%g\n",a,b,a-b);break;
        case '*':
            printf("%g*%g=%g\n",a,b,a*b);break;
        case '/':
            if (0==b)
            printf("除数不能为零!\n");
            else
            printf("%g/%g=%g\n",a,b,a/b);
            break;
        default:
            printf("运算符错误!\n");
    }
    char ch;
    printf("是否继续运算(Y/N or y/n):");
    scanf("%1s",&ch); //%c改成%1s
    if(ch=='Y'||ch=='y')
    goto END;
    else
    printf("over!");
    return 0;
}

添加了乘方,开方,绝对值功能

#include <stdio.h>
#include <math.h>
int main(int argc, char** argv)
{
    float  a,b;
    char op;
    printf("请选择运算符加+ 减- * 除/  乘方^ 开方@  绝对值#");
    scanf("%c",&op);
    if (op=='@' || op=='#')
    {
    printf("请输入一个数值:");
    scanf("%f",&a);
    }
    else
    {
    printf("请输入两个数值:");
    scanf("%f%f",&a,&b);
    }
    switch(op)
    {
        case '+':
            printf("%g+%g=%g\n",a,b,a+b);break;
        case '-':
            printf("%g-%g=%g\n",a,b,a-b);break;
        case '*':
            printf("%g*%g=%g\n",a,b,a*b);break;
        case '/':
            if (0==b)
            printf("除数不能为零!\n");
            else
            printf("%g/%g=%g\n",a,b,a/b);
            break;
        case '^':
            printf("%g^%g=%g\n",a,b,powf(a,b));break;
        case '@':
            printf("%g开方=%g\n",a,sqrtf(a));break;
        case '#':
            printf("|%g|=%d\n",a,abs(a));break;
        default:
            printf("运算符错误!\n");
    }
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img