zoukankan      html  css  js  c++  java
  • 转化逆波兰式为常规表达式

    题目来自《程序设计导引及在线实践》9.4思考题 转化逆波兰式为正常的表达式

    #include <stdio.h>
    #include <string.h>
    
    //输入样例:
    //* + 11.0 12.0 + 24.0 35.0
    
    //输出样例
    //((11.0+12.0)*(24.0+35.0))
    
    char* exp2()
    {
    	char a[100];
    	char buff1[256];
    	char buff2[256];
    	char buff_sum[256];
    
    	scanf("%s",a);
    	switch (a[0])
    	{
    	case '+':
    		strcpy(buff1,exp2());
    		strcpy(buff2,exp2());
    		sprintf(buff_sum,"(%s+%s)",buff1,buff2);
    		return buff_sum;
    		
    	case '-': 
    		strcpy(buff1,exp2());
    		strcpy(buff2,exp2());
    		sprintf(buff_sum,"(%s-%s)",buff1,buff2);
    		return buff_sum;
    		
    	case '*':
    		strcpy(buff1,exp2());
    		strcpy(buff2,exp2());
    		sprintf(buff_sum,"(%s*%s)",buff1,buff2);
    		return buff_sum;
    		
    	case '/':
    		strcpy(buff1,exp2());
    		strcpy(buff2,exp2());
    		sprintf(buff_sum,"(%s/%s)",buff1,buff2);
    		return buff_sum;
    		
    	default:
    		return (a);
    	}
    }
    
    int main(int argc, char* argv[])
    {
    	char res[256];
    	strcpy(res,exp2());
    	printf("%s",res);
    	return 0;
    }
    


     

  • 相关阅读:
    Go-结构体
    Go-指针
    Go-函数
    pycharm激活码
    python Ajax的使用
    python djangjo完整的实现添加的实例
    python 获取表单的三种方式
    python django ORM
    python django 模板语言循环字典
    python djangjo 文件上传
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3339362.html
Copyright © 2011-2022 走看看