题目描述:用C语言实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“操作数1运算符操作数2”,计算并输出表达式的值,如果输入的运算符号不包括在(+、-、*、/)范围内,输出“无效操作!”。当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“错!除以零!”
数据范围:字符串长度满足 3≤n≤50 3≤n≤50 ,保证运算符是一个char类型字符。
一:梳理思路
1:运用“double”类型定义两个变量进行“+, -, *, /”运算,运算符则用“char”字符类型。
2:想要实现“加减乘除”运算的选择会运用到以下语句实现:
switch(...)
{
case '...':
printf("...");
break;
...
case '...':
printf("...");
break;
default:
printf("...");
break;
3:“当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“错!除以零!”则使用“if语句实现”
二:代码书写过程
#include <stdio.h>
int main()
{
// a操作数1, b操作数2
double a, b;
char c;
// 从输入流中读取一个double类型和一个字符
scanf("%lf %c %lf", &a, &c, &b);
switch(c)
{
case '+':
// 将a与b相加,并输出结果
printf("%.4lf+%.4lf=%.4lf",a,b,a+b);
break;
case '-':
// 将a与b相减,并输出结果
printf("%.4lf-%.4lf=%.4lf",a,b,a-b);
break;
case '*':
// 将a与b相乘,并输出结果
printf("%.4lf*%.4lf=%.4lf",a,b,a*b);
break;
case '/':
// 判断b是否为0
if(b == 0.0)
{
// 如果b为0,则输出错误信息
printf("错!除以零!\n");
}else
{
// 否则,将a与b相除,并输出结果
printf("%.4lf/%.4lf=%.4lf",a,b,a/b);
}
break;
default:
// 如果是其他情况,则输出无效操作的错误信息
printf("无效操作!\n");
break;
}
return 0;
}
三:程序书写总结
这个C函数是一个简单的计算器程序。用户通过输入两个操作数和一个运算符,程序根据运算符执行相应的计算,并输出结果。支持四种运算操作:加法、减法、乘法和除法。如果输入的运算符不是这四种运算符之一,则输出“无效操作!”如果选择除法并且第二个操作数为0,则输出“错!除以零!”