检查输入后,就可以计算结果了。
这里有一个选择,可以在switch中计算每个结果,存储它们,在执行完switch后输出它们。#include
#include
int main(void)
{
double number1 = 0.0; /* 第一个操作数值十进制数 */
double number2 = 0.0; /* 第二个操作数值十进制数 */
char operation = 0; /* 操作符必须是 +, -, *, /, or % */
char reply = 0; /* 表示另一个计算-或不*/
printf("\n输入操作数\n");
scanf("%lf %c %lf", &number1, &operation, &number2);
/* 这里是检查输入的代码 */
switch(operation)
{
case '+': /* 加法时不需要检查 */
printf("= %lf\n", number1 + number2);
break;
case '-': /* 减法时不需要检查 */
printf("= %lf\n", number1 - number2);
break;
case '*': /* 乘法时不需要检查 */
printf("= %lf\n", number1 * number2);
break;
case '/':
if(number2 == 0) /* 需检查第二个数不为0 */
printf("\n\n\aDivision by zero error!\n");
else
printf("= %lf\n", number1 / number2);
break;
case '%': /* 需检查第二个数不为0 */
if((long)number2 == 0)
printf("\n\n\a除数不能为空!\n");
else
printf("= %ld\n", (long)number1 % (long)number2);
break;
default: /* 如果我们到了这里,操作无效 */
printf("\n\n\a无效操作!\n");
break;
}
return 0;
}