NC21944. 简单计算器
描述
输入描述
输入一行字符串,操作数1+运算符+操作数2 (其中合法的运算符包括:+、-、*、/)。
输出描述
输出为一行。
如果操作数和运算符号均合法,则输出一个表达式,操作数1运算符操作数2=运算结果,各数小数点后均保留4位,数和符号之间没有空格。
如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。
如果操作数2等于0.0,则输出“Wrong!Division by zero!”。
示例1
输入:
1.0+3.0
输出:
1.0000+3.0000=4.0000
示例2
输入:
1.0;4.0
输出:
Invalid operation!
示例3
输入:
44.0/0.0
输出:
Wrong!Division by zero!
C(clang11) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2021-04-01 11:25:37
#include<stdio.h> int main() { double a,b; char m; while(scanf("%lf%c%lf",&a,&m,&b)!=EOF) { if(m=='+') printf("%.4lf+%.4lf=%.4lf\n",a,b,a+b); else if(m=='-') printf("%.4lf-%.4lf=%.4lf\n",a,b,a-b); else if(m=='*') printf("%.4lf*%.4lf=%.4lf\n",a,b,a*b); else if(m=='/') { if(b==0.0) printf("Wrong!Division by zero!\n"); else printf("%.4lf/%.4lf=%.4lf\n",a,b,a/b); } else printf("Invalid operation!\n"); } }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 488K, 提交时间: 2018-12-25 20:03:05
#include<stdio.h> int main(){ double a,b,c; char ch; while(~scanf("%lf%c%lf",&a,&ch,&b)){ if(ch=='/'&&b==0.0)printf("Wrong!Division by zero!\n"); else if(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')printf("Invalid operation!\n"); else{ if(ch=='+')c=a+b; else if(ch=='-')c=a-b; else if(ch=='*')c=a*b; else c=a/b; printf("%.4f%c%.4f=%.4f\n",a,ch,b,c); } } return 0; }