PTA 7-99 含有2个运算符的算数表达式(选作)
分数 30
作者 叶青
单位 长春理工大学
键盘输入三个整数和两个算术运算组成的表达式,计算结果。
运算符包括:加+,减-乘*,除/
输入格式:
三个整数,两个运算符,组成算数表达式,输入的字符之间没有空格
输出格式:
在表达式的后边输出=计算结果
输入样例:
6+3*11
输出样例:
6+3*11=39
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
int main()
{
int x, y, z;
char a, b;
long result;
scanf("%d%c%d%c%d",&x, &a, &y, &b, &z);
printf("%d%c%d%c%d=",x, a, y, b, z);
switch(a)
{
case '+'://如果输入的a是+就进入switch(b)根据b再选择哪个case语句
switch(b)
{
case '+':result = x + y + z ; printf("%ld", result); break;//注意break不要忘记了
case '-':result = x + y - z ; printf("%ld", result); break;
case '*':result = x + y * z ; printf("%ld", result); break;
case '/':result = x + y / z ; printf("%ld", result); break;
}
break;//注意break不要忘记了
case '-'://如果输入的a是-就进入switch(b)根据b再选择哪个case语句
switch(b)
{
case '+':result = x - y + z ; printf("%ld", result); break;
case '-':result = x - y - z ; printf("%ld", result); break;
case '*':result = x - y * z ; printf("%ld", result); break;
case '/':result = x - y / z ; printf("%ld", result); break;
}
break;
case '*'://如果输入的a是*就进入switch(b)根据b再选择哪个case语句
switch(b)
{
case '+':result = x * y + z ; printf("%ld", result); break;
case '-':result = x * y - z ; printf("%ld", result); break;
case '*':result = x * y * z ; printf("%ld", result); break;
case '/':result = x * y / z ; printf("%ld", result); break;
}
break;
case '/'://如果输入的a是/就进入switch(b)根据b再选择哪个case语句
switch(b)
{
case '+':result = x / y + z ; printf("%ld", result); break;
case '-':result = x / y - z ; printf("%ld", result); break;
case '*':result = x / y * z ; printf("%ld", result); break;
case '/':result = x / y / z ; printf("%ld", result); break;
}
break;
default:printf("Error Symbols!");
}
return 0;
}