7-1 求解简单的四则运算表达式
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。
输出格式:
在一行中输出表达式的运算结果,保留两位小数。
如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。
输入样例1:
3.1+4.8
输出样例1:
7.90
输入样例2:
98/0
输出样例2:
Divisor can not be 0!
输入样例1:
123%3
输出样例1:
Unknown operator!
个人代码:
#include <stdio.h>
int main(void)
{
double sum=0;
double x,y;
char str;
scanf("%lf%c%lf",&x,&str,&y);
if(str=='+')
{
sum=x+y;
printf("%.2f",sum);
}
else if(str=='-')
{
sum=x-y;
printf("%.2f",sum);
}
else if(str=='*')
{
sum=x*y;
printf("%.2f",sum);
}
else if(str=='/')
{
if(y==0)
printf("Divisor can not be 0!");
else
{
sum=x/y;
printf("%.2f",sum);
}
}
else
{
printf("Unknown operator!");
}
return 0;
}
代码解析
#include <stdio.h>
int main(void)
{
double sum=0; //用sum记录计算的结果
double x,y; //x,y记录你要输入的数据
char str; // str为字符,用于记录你想要的四则运算(+ - * /)
scanf("%lf%c%lf",&x,&str,&y);
if(str=='+') // 表示你想要做加法
{
sum=x+y;
printf("%.2f",sum);
}
else if(str=='-') // 表示你想要做减法
{
sum=x-y;
printf("%.2f",sum);
}
else if(str=='*') // 表示你想要做乘法
{
sum=x*y;
printf("%.2f",sum);
}
else if(str=='/') // 表示你想要做除法
{
if(y==0) //用于判断分母不能为0
printf("Divisor can not be 0!");
else
{
sum=x/y;
printf("%.2f",sum);
}
}
else // 不是四则运算则输出一下结果
{
printf("Unknown operator!");
}
return 0;
}