c语言ascii码表数字,求教!我想显示数字但是现在显示的却是数字在ASCII码中对应的符...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以下是程序,可能比较长,主要的问题是比如计算表达式6+3*(9-5)/2-8可得结果是4,但是如果输入3*4,则得到结果'
#include
using namespace std;
#include
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 100
typedef int Status;
typedef struct
{
char *base;
char *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S)
{
S.base=new char[100];
if(!S.base) exit(OVERFLOW);
else S.top=S.base;
S.stacksize=MAXSIZE;
return OK;
}
Status Push(SqStack &S,char e)
{
if(S.top-S.base==S.stacksize) return ERROR;
else *S.top++=e;
return OK;
}
char GetTop(SqStack S)
{
if(S.top!=S.base)
return *(S.top-1);
else exit(ERROR);
}
Status Pop(SqStack &S,char &e)
{
if(S.top==S.base) return ERROR;
else {--S.top;e=*S.top;}
return OK;
}
Status In(char c)
{
if(c>='0'&&c<='9') return 0;
else if(c=='+'||c=='-'||c=='*'||c=='/'||c=='('||c==')'||c=='#') return 1;
else exit(ERROR);
}
int Precede(char a,char b)//a为栈顶元素,b为读到的元素//令a等于b为7,a大于b为8,a小于b为9
{
if(b=='+')
{
if(a=='('||a=='#') return(9);
else return(8);
}
if(b=='-')
{
if(a=='('||a=='#') return(9);
else return(8);
}
if(b=='*')
{
if(a=='*'||a=='/'||a==')') return(8);
else return(9);
}
if(b=='/')
{
if(a=='*'||a=='/'||a==')') return(8);
else return(9);
}
if(b=='(') return(9);
if(b==')')
{
if(a=='(') return(7);
return(8);
}
if(b=='#')
{
if(a=='#') return(7);
else return(8);
}
}
int Operate(int a,char theta,int b)
{
if(theta=='+') return (a+b-'0');
else if(theta=='-') return (a-b+'0');
else if(theta=='*') return ((a-'0')*(b-'0')+'0');
else if(theta=='/') return ((a-'0')/(b-'0')+'0');
}
char EvaluateExpression(char s[])
{
char x,theta,ch;
char a,b,r;
int i;
SqStack OPTR,OPND;
InitStack(OPTR);
InitStack(OPND);
Push(OPTR,'#');
for(i=0;i
{
ch=s[i];
if(!(r=In(ch))){Push(OPND,ch);}
else
{
switch(Precede(GetTop(OPTR),ch))
{
case 9://a小于b为9
Push(OPTR,ch);
break;
case 8://a大于b为8//应该是从此处开始无法将字符输入到OPTR中
Pop(OPTR,theta);
Pop(OPND,b);
Pop(OPND,a);
Push(OPND,Operate(a,theta,b));
i=i-1;
break;
case 7://a等于b为7
Pop(OPTR,x);
break;
}
}
}
return GetTop(OPND);
}
int main()
{
cout<
cout<
char e[100];
gets(e);
char result;
result=EvaluateExpression(e);
cout<
cout<
cout<
return 0;
}
c语言ascii码表数字,求教!我想显示数字但是现在显示的却是数字在ASCII码中对应的符...相关推荐
- c语言中数字字符的ascii码,求教!我想显示数字但是现在显示的却是数字在ASCII码中对应的符...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 以下是程序,可能比较长,主要的问题是比如计算表达式6+3*(9-5)/2-8可得结果是4,但是如果输入3*4,则得到结果' #include using ...
- c语言ascii码表_新手小白整理C语言笔记备忘,带你十分钟理解C语言
一.C语言数据类型 1.基本类型:整型.浮点型(单精度.双精度).字符型和枚举类型: 2.构造类型:数组类型.结构体类型和共用体类型: 3.指针类型: 4.空类型.二.数值数据的表示 1.整数:十进制 ...
- C语言零基础入门级数据类型+运算符+控制流+ASCII 码表+面试题【系统学习第二天】
C语言零基础入门级数据类型+运算符+控制流 第一项 C语言->数据类型全讲解上 [1]整型int [2]整型修饰符short.long.unsigned [3]符号位 [4]格式控制符%d+%h ...
- C语言利用ASCII码表统计字符串每个字符出现的次数
今天在图书馆老胡突然给我出题 在C语言里面写个能够统计并打印字符串中字符出现次数 心想这不是常规操作吗? "定义两个char数组,输入,赋值给另一个字符数组 通过一个for循环嵌套两个for ...
- c语言ascii码表从第128开始,输出完整的ASCII码(0~127+128~255)
我以前在C语言书背后看见的ASCII码表有0-255个字符,但是我想输出128-255的字符就乱码,一直没解决,今天有个新进的同事问这个问题,我去看了下,然后找度娘和论坛,找到了两种解决的方法,而且都 ...
- c语言ascii码表从第128开始,【C语言】[其他]:输出完整的ASCII码(0~127+128~255)
我以前在C语言书背后看见的ASCII码表有0-255个字符,但是我想输出128-255的字符就乱码,一直没解决,今天有个新进的同事问这个问题,我去看了下,然后找度娘和论坛,找到了两种解决的方法,而且都 ...
- 大小写字母转换、数字与字符转换及ASCII码表
ASCII码表: 1 大小写转换: 1.1 数据类型强制转换法: eg.大写→小写 char A = 'A'; char a = char(A + 32); cout << a; 输出结果 ...
- c语言基础 验证ascii 码表
2019独角兽企业重金招聘Python工程师标准>>> #include <stdio.h> //验证 ascii 码 学习c 语言 ,理解 char 与int 之间 ...
- Java黑皮书课后题第5章:*5.15(显示ASCII码字符表)编写一个程序,打印ASCII字符表从‘!‘到‘~‘的字符。每行打印10个字符。ASCII码表如附录B所示。数字之间用一个空格字符隔开
*5.15(显示ASCII码字符表)编写一个程序,打印ASCII字符表从'!'到'~'的字符.每行打印10个字符.ASCII码表如附录B所示.数字之间用一个空格字符隔开 题目 题目概述 '!'到'~' ...
最新文章
- 广东科技学院专插本c语言考卷_广东科技学院第二届红色文化节之红色影视经典配音大赛决赛...
- 面试问你Spring如何解决循环依赖的时候,不要一脸懵逼了!
- SCCM 2016 使用PXE 部署操作系统(四)
- 怎么同步github上的原项目和fork
- php 工商银行公众号支付代码_微信支付PHP SDK —— 公众号支付代码详解
- easyui复杂表单_EasyUI中实现form表单提交的示例分享
- 16福师计算机应用基础在线作业,16春季福师《计算机应用基础》在线作业二.doc...
- linux线程出错,在线程应用程序(linux,pthreads)中读取文件大小时出错
- 《Docker:容器与容器云》.pdf
- phpVirtualBox – 用浏览器操作虚拟机
- python第六十天-----RabbitMQ
- 如果我已经开始重新设置基准,如何将两个提交合并为一个?
- 基于CentOS7.3构建企业级Vsftpd文件服务器
- SSL之父称SSL不会因被攻击而失去生命力
- [xshell] xshell 及 xftp 官网无法下载解决
- k8s1.18-kubeadm安装手册
- 学大伟业:学习物理竞赛的学生如何快速掌握所需要的高数知识?
- uniapp加激励广告代码方法
- docker容器获取宿主ip地址
- 转换优化 onnx模型