黑马程序员技术交流社区

标题: 使用C语言的分支结构实现简单计算器 [打印本页]

作者: tingfeng1992    时间: 2015-6-19 19:06
标题: 使用C语言的分支结构实现简单计算器
分支结构是C语言中比较重要的内容,下面就分别用switch语句和if-else语句,分别实现简单计算器的功能。这里所说的简单计算器只有加减乘除,复杂的这里就先不做了。
本算法的思想如下:
计算器:
1.定义变量,用来存储输入的两个数
2.定义变量,用来存放运算符
3.提醒用户输入两个数,以及运算符
4.接收
5.进行运算
6.输出
首先利用switch语句实现本功能,代码如下:
#include<stdio.h>
int main()
{
    float num1,num2,result=0;
    char a;
    printf("请输入要计算的式子:\n");
    scanf("%f%c%f",&num1,&a,&num2);

    //scanf("%f",&num1);
    //scanf("%c",&a);
    //scanf("%c",&a);
    //scanf("%f",&num2);

    switch (a)
    {
        case '+':
            result=num1+num2;
            printf("%f\n",result);
            break;
        case '-':
            result=num1-num2;
            printf("%f\n",result);
            break;
        case '*':
            result=num1*num2;
            
            printf("%f\n",result);
            break;
        case '/':
        {
            if(num2==0)
            {
                printf("无法运算\n");
                return 0;
            }
            else
            {
                result=num1/num2;
                printf("%f\n",result);
                break;
            }
        }
        default:
            printf("输入错误\n");
            break;
    }
    return 0;
   
}


然后用if-else语句实现计算器的功能,代码如下:
#include<stdio.h>
int main()
{
    float num1,num2,result;
    char op;
    printf("请输入要计算的式子:\n");
    scanf("%f%c%f",&num1,&op,&num2);
    if(op=='+')
        printf("%.2f %c %.2f=%.2f\n",num1,op, num2,num1+num2);
    else if (op=='-')
        printf("%.2f %c %.2f=%.2f\n",num1,op, num2,num1-num2);
    else if (op=='*')
        printf("%.2f %c %.2f=%.2f\n",num1,op, num2,num1*num2);
    else if (op=='/')
    {
        if(num2==0)
        {
            printf("除数为0,无法运算\n");
            return 0;
        }
        else
            printf("%.2f %c %.2f=%.2f\n",num1,op, num2,num1/num2);
    }
    else
        printf("本计算器无法计算\n");
return  0;
}
作者: XiaoBaoMi    时间: 2015-6-19 22:34
楼主写得不错,学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2