一、实验介绍

1.1实验内容

本次课程我们要使用C语言做一个简单的计算器,能执行加、减、乘、除操作。本程序涉及的所有数学知识都很简单,但输入过程会增加复杂性。因为我们需要检查输入,确保用户没有要求计算机完成不可能的任务。还必须允许用户一次输入一个计算式,例如: 32.4+32或者9*3.2

1.2实验知识点

·C语言基本语法
·C语言输入与输出

1.3实验环境
·Dev c++ 5.1.1

1.4适合人群
适合涉及C语言的基本语法,与输入与输出。适合初学者学习。

执行流程
1,获取用户输入的计算表达式
2,检查输入的表达式格式,确保表达式对应的实际操作可以执行
3,执行计算,返回结果并在终端打印,精确到小数点后6位。

代码展示

#include<stdio.h>
int main()
{
    double number1=0.0;  //定义操作数
    double number2=0.0;
    char operation =0;  //operation必须是'+' '-' '*' '/' 或'%'

    printf("\nEnter the calculation\n");
    scanf("%lf%c%lf",&number1,&operation,&number2);

    switch(operation)
    {
        case '+':
        printf("=%lf\n",number1+number2);
        break;
        
        case '-':
        printf("=%lf",number1-number2);
        break;

        case '*':
        printf("=%lf\n",number1*number2);
        break;
        

        case '/':
   if(number2==0)  printf("\n\n\aDivision by zero error!\n");//  第二个操作数不能为0;

        else    
        printf("=%lf\n",number1/number2);
        break;

        case '%':
   if((long)number2==0) printf("\n\n\aDivision by zero erro!\n");  
   //取余运算符对float或double类型
   //是没有意义的,因为它们可以表示精确的结果,所以使用%运算符前,
   //应把操作数转为整数,并判断第二个操作数是否为0

        else printf("=%ld\n",(long)number1%(long)number2);

        default :
        printf("\n\n\aDivision by zero error!\n");
        break;
	}
return 0;
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐