任务描述
对输入的算式进行简单的运算,输出算式结果。运算符只会是加+、减-、乘*、除/、求余%、阶乘!之一。
输出运算的结果,如果出现除数为零,则输出“error”,如果求余运算的第二个运算数为0,也输出“error”。
输入格式:
输入为若干行,每行一个算式。
每个算式的运算对象都是整数,与运算符之间以若干空格分隔。如果运算符为阶乘!,则没有第二个运算对象。
输出格式:
每个算式的结果,输出在一行。
输入样例:
12 + 34
54 - 25
3 * 6
45 / 0
5 !
34 % 0
3 /5
5/2
输出样例:
46
29
18
error
120
error
0
2
#include<stdio.h>
int sw(int a)
{
if(a==0)
return 1;
if(a!=0)
return a*sw(a-1);
}
int main()
{
int a,b;
char c;
while(scanf("%d %c",&a,&c)!=EOF)
{
if(c!='!')
{
scanf("%d",&b);
if(c=='+')
printf("%d\n",a+b);
if(c=='-')
printf("%d\n",a-b);
if(c=='*')
printf("%d\n",a*b);
if(c=='/')
{
if(b==0)
printf("error\n");
else
printf("%d\n",a/b);
}
if(c=='%')
{
if(b==0)
printf("error\n");
else
printf("%d\n",a%b);
}
}
else
printf("%d\n",sw(a));
}
return 0;
}