四则运算程序
来源:互联网 发布:杭州美工培训机构 编辑:程序博客网 时间:2024/05/22 08:23
/************************************************************************* > Created Time: 2014年06月18日 ************************************************************************/#include<stdio.h>#include<string.h>double arithmetic(char *str){ if(str == NULL)return -1; char token_stack[100]; double num_stack[100]; int token_index =0, num_index = 0; int len = strlen(str); for(int i = 0; i < len; i++) { if(*(str+i) >= '0' && *(str+i) <= '9') { num_stack[num_index++] = *(str+i)-'0'; continue; } if(*(str+i) == '+' || *(str+i) == '-') { token_stack[token_index++] = *(str+i); continue; } if(*(str+i) == '*') { num_stack[num_index-1] = num_stack[num_index-1] * (*(str+i+1)-'0'); i++; continue; } if(*(str+i) == '/') { num_stack[num_index-1] = num_stack[num_index-1] / (*(str+i+1)-'0'); i++; continue; } } num_index--; for(int i = token_index-1; i >= 0; i--) { if(token_stack[i] == '+') { num_stack[--num_index] = num_stack[num_index] + num_stack[num_index+1]; continue; } if(token_stack[i] == '-') { num_stack[--num_index] = num_stack[num_index] - num_stack[num_index+1]; continue; } } return num_stack[0];}int main(){ char str[100]; printf("请输入一个字符串:\n"); scanf("%s",str); printf("%f\n",arithmetic(str)); return 0;}
#include <stdio.h>#include <string.h>int calc(const char *s, const char *e){ int layer = 0; const char *p; for (p = e; p >= s; --p) { switch (*p) { case ')': ++layer; break; case '(': --layer; break; case '+': if (0 == layer) return calc(s, p - 1) + calc(p + 1, e); break; case '-': if (0 == layer) return calc(s, p - 1) - calc(p + 1, e); break; } } for (p = e; p >= s; --p) { switch (*p) { case ')': ++layer; break; case '(': --layer; break; case '*': if (0 == layer) return calc(s, p - 1) * calc(p + 1, e); break; case '/': if (0 == layer) return calc(s, p - 1) / calc(p + 1, e); break; } } if ('(' == *s && ')' == *e) return calc(s + 1, e - 1); return atoi(s);}
0 0
- 四则运算程序
- 四则运算小程序
- 小学四则运算演算程序
- C++计算四则运算表达式程序
- 关于四则运算的程序算法
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- 四则运算
- CentOS 创建svn服务器
- 私活板块开版啦
- rime协议栈简介
- 参加第八届英特尔软件创新大赛-初赛前
- 树的子结构
- 四则运算程序
- 动态修改script标签中的src属性存在的问题
- 【教材】用OllyDbg找出Agth提取GAL文本的特殊码(详细新人版)
- Delphi应用程序的调试(连载,瓢虫原著)
- 【JSOI 2008】【BZOJ 1016】最小生成数计数
- Cashcard transaction history read software
- Android系统手机端抓包方法(tcpdump)
- Git远程操作详解
- php+MySQL图书管理系统(一)