zoukankan      html  css  js  c++  java
  • NYOJ 257 郁闷的C小加(一)

    郁闷的C小加(一)

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:3
    描写叙述

    我们熟悉的表达式如a+ba+b*(c+d)等都属于中缀表达式。中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2。同理。后缀表达式就是操作符在两个操作数之后:num1 num2 operand

    ACM队的“C小加”正在郁闷如何把一个中缀表达式转换为后缀表达式,如今请你设计一个程序,帮助C小加把中缀表达式转换成后缀表达式。

    为简化问题,操作数均为个位数,操作符仅仅有+-*/ 和小括号。

    输入
    第一行输入T。表示有T组測试数据(T<10)。
    每组測试数据仅仅有一行,是一个长度不超过1000的字符串。表示这个表达式。这个表达式里仅仅包括+-*/与小括号这几种符号。当中小括号能够嵌套使用。数据保证输入的操作数中不会出现负数。

    而且输入数据不会出现不匹配现象。

    输出
    每组输出都单独成行,输出转换的后缀表达式。
    例子输入
    2
    1+2
    (1+2)*3+4*5
    例子输出
    12+
    12+3*45*+
    AC码:
    #include<stdio.h>
    #include<string.h>
    #define N 1003
    int main()
    {
    	int s,t,T,i,len;
    	char stack[N],str[N],ch[N];
    	scanf("%d",&T);
    	while(T--)
    	{
    		scanf("%s",str);
    		len=strlen(str);
    		s=-1;
    		t=0;
    		for(i=0;i<len;i++)
    		{
    			if(str[i]>='0'&&str[i]<='9')
    			{
    				ch[t]=str[i];
    				t++;
    			}
    			else if(str[i]=='(')
    			{
    				stack[++s]=str[i];
    			}
    			else if(str[i]==')')
    			{
    				while(s>=0&&stack[s]!='(')
    				{
    					ch[t]=stack[s];
    					t++;  s--;
    				}
    				s--;
    			}
    			else if(str[i]=='/'||str[i]=='*')
    			{
    				while(stack[s]=='/'||stack[s]=='*')
    				{
    					ch[t]=stack[s];
    					t++;s--;
    				}
    				stack[++s]=str[i];
    			}
    			else
    			{
    				while(s>=0&&stack[s]!='(')
    				{
    					ch[t]=stack[s];
    					t++; s--;
    				}
    				stack[++s]=str[i];
    			}
    		}
    		while(s>=0)
    		{
    			ch[t]=stack[s];
    			t++;
    			s--;
    		}
    		ch[t]='';
    		printf("%s
    ",ch);
    	}
    	return 0;
    }


    
    
    
    
  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6821167.html
Copyright © 2011-2022 走看看