栈
文章平均质量分 51
Creed_Wu
人生只有走出来的美丽,没有等出来的辉煌
展开
-
表达式求值
/*描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等。经过训练,Dr.Kong设计的机器人卡多甚至会计算一种嵌套的更复杂的表达式。 假设表达式可以简单定义为: 1. 一个正的十进制数 x 是一个表达式。 2. 如果 x 和 y 是 表达式,则 函数min(x,y )也是原创 2015-08-08 17:25:27 · 563 阅读 · 0 评论 -
括号配对
/*题目描述 输入一行字符串,都为括号,判断是否匹配.只有{} [] () <>这些。 输入 第一行k测试数据组数 之后1~k+1行为一行字符串 长度<=100 输出 Yes or No 样例输入 3 (<>(){}[]) ((())) <) 样例输出 Yes Yes No */ #include int main() { int i; scanf("%d",&i); while(i--)原创 2015-08-08 17:28:48 · 190 阅读 · 0 评论 -
判断回文
#include #include int main() { int len,top=0,mid,next,i;//top=0对栈初始化 char a[101],s[101]; gets(a); len=strlen(a); mid=len/2-1;//找到字符串的中点,对中点以前的数进行进栈 for(i=0;i<=mid;i++) { s[++top]=a[i]; } //原创 2015-07-21 16:11:20 · 391 阅读 · 0 评论 -
中缀式变为后缀式
/*算法: 中缀表达式转后缀表达式的方法: 1.遇到操作数:直接输出(添加到后缀表达式中) 2.栈为空时,遇到运算符,直接入栈 3.遇到左括号:将其入栈 4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。 5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈 6.最终将栈中的元素依次出栈,输出。 例如 a+b*c+(d原创 2015-09-24 21:30:02 · 432 阅读 · 1 评论 -
十-八进制转换
#include #include typedef struct node { int data; struct node *next; }node; int main() { int m,n; node *p,*q,*top; top=(struct node *)malloc(sizeof(struct node)); top->next=NULL; scanf("%d",&m原创 2015-11-14 20:08:13 · 477 阅读 · 0 评论 -
表达式求值(一)
/*描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它 的值的计算器,现在请你帮助他来实现这个计算器吧。 比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数) 输入 第一行输入一个整数n,共有n组测试数据(n<10)。 每组测试数据只有一行,是一个长度不超过1000的字符串,表示这个运算式,每个运算式都是以“=”原创 2015-10-14 16:50:16 · 1103 阅读 · 0 评论