19世纪之前
早期的计算器为纯手动式,如算盘和算筹与计算尺等。算盘通常是以滑动的珠子制成。在西方,算盘在印度阿拉伯数字流行前使用了数个世纪,且在近代中国的记账与商务上仍广泛使用。后来出现机械计算器。
19世纪
巴贝奇将计算工具的概念更往前推,试图创建第一个可编程序计算器,但他建造的机器太重了,因而无法操作。
20世纪
20世纪70年代开始,微处理器技术被吸纳进计算器制程,最初的微处理器是Intel于1971年为日本名为Busicom的计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35。
可见,计算器是一个重要的工具,下面我来分享如何使用C语言编写一个简单的整数类型的计算器。
01
核心思路
利用C语言中的 scanf 输入函数实现数字和运算符号的输入,利用 switch 语句 判断用户输入的运算符号(加减乘除),然后加减乘除四种情况分别利用 switch 中的 case 语句 和 printf 输出函数。需要注意的是,整数除以整数结果可能会有小数,所以除法这种情况下还需要利用 if ... else 语句进行分类讨论,如果两个数相除余数为0,则这两个数整除了;反之,如果这两个数相除余数不为0,则这两个数相处后的结果是小数,若想正确输出该小数结果,还需要用到浮点数作出进一步处理才可正确输出。
02
流程图展示
03
源代码展示
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
char c;
printf("请按照顺序输入 一位整数、运算符号、一位整数:\n");
printf("例如:计算3+2 可依次输入 3 + 2 \n");
scanf("%d %c %d",&a,&c,&b);
switch(c)
{
case '+' :
printf("%d %c %d = %d \n",a,c,b,a+b);
break;
case '-' :
printf("%d %c %d = %d \n",a,c,b,a-b);
break;
case '*' :
printf("%d %c %d = %d \n",a,c,b,a*b);
break;
case '/' :
if(a%b==0)
{
printf("%d %c %d = %d \n",a,c,b,a/b);
}
else
{
printf("%d %c %d = %f \n",a,c,b,1.0*a/b);
}
break;
}
system("pause");
return 0;
}