Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <ctype.h>
- double prefix(){
- char c;
- double a,b,ans;
- while(isspace(c=getchar()))continue;
- if(c=='+'){
- printf("( ");
- a=prefix();
- printf("+ ");
- b=prefix();
- printf(") ");
- ans=a+b;
- }
- else if(c=='-'){
- printf("( ");
- a=prefix();
- printf("- ");
- b=prefix();
- printf(") ");
- ans=a-b;
- }
- else if(c=='*'){
- printf("( ");
- a=prefix();
- printf("* ");
- b=prefix();
- printf(") ");
- ans=a*b;
- }
- else if(c=='/'){
- printf("( ");
- a=prefix();
- printf("/ ");
- b=prefix();
- printf(") ");
- ans=a/b;
- }
- else {
- ungetc(c,stdin);
- scanf("%lf",&ans);
- printf("%.lf ",ans);
- }
- return ans;
- }
- int main(){
- int n;
- char c;
- scanf("%d",&n);
- while(n--){
- double ans=prefix();
- if(ans==(int)ans)
- printf("= %.lf\n",ans);
- else
- printf("= %.1lf\n",ans);
- }
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement