A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用switch实现计算器功能,因为switch不能判断非整型,所以视频里如意大师为了教学好理解用数字代替运算符,小弟试着用优化一下,不用数字代替,直接输入运算符进行计算
//
//  main.c
//  练习
//
//  Created by 李言 on 15/6/18.
//  Copyright (c) 2015年 ly. All rights reserved.
//
#include <stdio.h>
//要求:用switch写个个简单的计算器程序;输入数字1,输入运算符,再输入数字2,显示结果
//重点是switch不能判断非整型,可以将变量转换成ass码
int main() {
//    定义要输入的数字和运算符
    int num1, num2;
    char yunXuanFu;
    printf("输入计算表达式:\n");
    scanf("%d", &num1);
    scanf("%c", &yunXuanFu);
    scanf("%d", &num2);
//    将运算符转换成整形(ass码)
    int a = (int)yunXuanFu;
//    判断运算符
    switch(a){
        case '+':
            printf("=%d", num1+num2);
            break;
        case '-':
            printf("=%d", num1-num2);
            break;
        case '*':
            printf("=%d", num1*num2);
            break;
        case '/':
            printf("=%.2f", (double)num1/num2);
            break;
        case '%':
            printf("=%d", num1%num2);
            break;
        default :
            printf("计算器暂不支持该运算\n");
    }
    return 0;
}

1 个回复

倒序浏览
外面也有位同学优化了这段代码,楼主可以去找找看,两相比较下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马