为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

逆波兰式

2017-10-12 3页 doc 13KB 28阅读

用户头像

is_954223

暂无简介

举报
逆波兰式逆波兰式 #include #include #define maxsize 100 void main() { char str[maxsize];/*存储原算术表达式*/ char exp[maxsize];/*存储转换成的逆波兰式*/ char stack[maxsize];/*作为栈使用*/ char ch; int i,j,t,top=0;/*t作为exp的下标,top作为stack的下标,i作为str的下标*/ i=0;/*获取用户输入的表达式信息*/ do { i++; scanf(...
逆波兰式
逆波兰式 #include #include #define maxsize 100 void main() { char str[maxsize];/*存储原算术达式*/ char exp[maxsize];/*存储转换成的逆波兰式*/ char stack[maxsize];/*作为栈使用*/ char ch; int i,j,t,top=0;/*t作为exp的下标,top作为stack的下标,i作为str的下标*/ i=0;/*获取用户输入的表达式信息*/ do { i++; scanf("%c",&str[i]); printf("%c",str[i]); }while(str[i]!='#'&&i='0'&&ch<='9')/*判断为数字*/ { exp[t]=ch;t++; } else if(ch=='(') {top++;stack[top]=ch;} else if(ch==')') { while (stack[top]!='(') {exp[t]=stack[top];top--;t++;} top--; } else if(ch=='+'||ch=='-') { while(top!=0&&stack[top]!='(') {exp[t]=stack[top];top--;t++;} top++;stack[top]=ch; } else if(ch=='*'||ch=='/') { while(stack[top]=='*'||stack[top]=='/') {exp[t]=stack[top];top--;t++;} top++;stack[top]=ch; } ch=str[i];i++; } while(top!=0) { exp[t]=stack[top]; t++;top--; } exp[t]='#'; for(j=0;j<=t;j++) {printf("%c ",exp[j]);} printf("\n"); }
/
本文档为【逆波兰式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索