接下来检查是否正确。
最明显的是检查操作是否是 +、-、*、/ 和 %。
还要检查第二个数字,当进行 / 或 % 的时候,不能进行是 0。
这些操作可以使用 if 和 switch 来完成。
取余数对 float 或 double 没有意义,因为它们可以表示精确的结果。只要把 % 应用于整型运算才有意义。因此,在应用这个运算符前,把操作数转换为整型。
当运算符是 % 时,将第二个操作数转换为一个整数,所以仅检查第二个操作数是否为 0 还是不够的。还必须检查 number2 在转换为 long 时,值是否为 0。例如 0.5 不是 0,但是转换为整数后就是 0。
#include <stdio.h>
int main(void)
{
double number1 = 0.0;
double number2 = 0.0;
char operation = 0;
printf("\n请输入计算的表达式\n");//1.2+2.0
scanf("%lf %c %lf",&number1,&operation,&number2);
switch(operation)
{
case '+':
//实现加法运算
break;
case '-':
//实现减法
break;
case '*':
//实现乘法
break;
case '/':
if(number2==0.0)
{
printf("\n除数不能为0\n");
}
else
{
//实现除法运算
}
break;
case '%':
if((long)number2==0)
{
printf("\n除数不能为0\n");
}
else
{
//实现求模运算
}
break;
default:
printf("\n无效操作\n");
break;
}
return 0;
}Code language: PHP (php)