题目1116:加减乘除

来源:互联网 发布:c语言 true false 编辑:程序博客网 时间:2024/05/10 14:10

题目源地址:http://ac.jobdu.com/problem.php?pid=1116

C++代码:

#include<stdio.h>#include<string.h>int f(int n){if(n==0||n==1)return 1;else return n*f(n-1);}int GetResult(int a,int b,char o,int &r){if(o=='+')r=a+b;else if(o=='-')r=a-b;else if(o=='*')r=a*b;else if(o=='/'){if(b!=0)r=a/b;elsereturn -1;}else if(o=='%'){if(b!=0)r=a%b;elsereturn -1;}elser=f(a);return 0;//返回0表示结果正常,返回-1表示结果错误}int main(){int num1=0,num2=0,i=0;char o;while(scanf("%d %c",&num1,&o)!=EOF){if(o!='!'){scanf("%d",&num2);}int result;int tmp=GetResult(num1,num2,o,result);if(tmp==-1)printf("error\n");elseprintf("%d\n",result);}return 0;}