(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.C++ 如题,要正确的 简单的怎么不给了?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 13:11:28
(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.C++ 如题,要正确的 简单的怎么不给了?

(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.C++ 如题,要正确的 简单的怎么不给了?
(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.
C++ 如题,要正确的
简单的怎么不给了?

(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.C++ 如题,要正确的 简单的怎么不给了?
我学数据结构时做过一个实验,跟这个很像,不过我还扩展了一下,可以计算小数、负数,得分很高哦.
.stack.h.
#define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */
#define STACKINCREMENT 2 /* 存储空间分配增量 */
typedef float SElemType_f;
typedef char SElemType_ch;
typedef int Status;
#include
#include /*free()头文件 */
#define OK 1
#define ERROR 0
typedef struct SqStack_f{ /* 运算数栈 */
SElemType_f *base; /* 在栈构造之前和销毁之后,base的值为NULL */
SElemType_f *top; /* 栈顶指针 */
int stacksize; /* 当前已分配的存储空间,以元素为单位 */
}SqStack_f; /* 顺序栈 */
typedef struct SqStack_ch{ /* 定义运算符栈 */
SElemType_ch *base; /* 在栈构造之前和销毁之后,base的值为NULL */
SElemType_ch *top; /* 栈顶指针 */
int stacksize; /* 当前已分配的存储空间,以元素为单位 */
}SqStack_ch; /* 顺序栈 */
Status InitStack(SqStack_f &S){ /* 构造一个运算数栈S */
S.base=new SElemType_f[STACK_INIT_SIZE];
if(!S.base)
exit(ERROR); /* 存储分配失败 */
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
Status InitStack(SqStack_ch &S){ /* 构造一个运算符栈S */
S.base=new SElemType_ch[STACK_INIT_SIZE];
if(!S.base)
exit(ERROR); /* 存储分配失败 */
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
float GetTop_f(SqStack_f &S){ /* 若栈不空,则用e返回运算数栈S的栈顶元素,并返回OK;否则返回ERROR */
float e;
if(S.top==S.base)
return ERROR;
e=*(S.top-1);
return e;
}
char GetTop_ch(SqStack_ch &S){ /* 若栈不空,则用e返回运算符栈S的栈顶元素,并返回OK;否则返回ERROR */
char e;
if(S.top==S.base)
return ERROR;
e=*(S.top-1);
return e;
}
void Push_f(SqStack_f &S,SElemType_f e){ /* 插入元素e为新的栈顶元素 */
if(S.top-S.base==S.stacksize) /* 栈满 */
cout

(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.C++ 如题,要正确的 简单的怎么不给了? C语言输入一个整数 并把这个整数各位数字由大到小重新排列组成的整数输出 输入一个6位正整数,求出由该数各位数字组成的最大数.c语言 c语言中,如何判断输入的是否为一个数字,这个数字是由scanf输入的,数字大小没有限制int n;scanf(%d,&n);下面怎么写? 一个密码箱上的密码是由1.2.3三个数字组成的(数字不重复),如果随意输入一个密如果随意输入一个密码,密码箱打开的可能性是() 用c语言解决输入一个四位数,求由这四位数字组成的最大数与最小数之差 C语言 计算x每位数字的累加和从键盘任意输入一个n位数x,编程计算x的每一位数字相加之和(x为负数则取其绝对值).例如,输入x为1234,则由1234分离出其千位1、百位2、十位3、个位4,然后计算1+2 输入一个表达式,输出其结果.表达式由数字+-*/()组成.例如,输入3*(8.0+(4/3)),输出28.提示:错误的表达式提示错误.例如:2+*3输出:表达式输入错误.急需其编程程序 求解(C语言):输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数. 请帮我解答一道C语言的题:输入一个任意的三位数,将其各位数字反序输出(例如输入123,输出321). c语言:输入一个四行三列的矩阵(矩阵内数字任意输入),找出矩阵中每列中的最大元素及其所在行号. C语言输入数字比较大小,想结束输入0.用户输入1到100之间的任意的正数(int),求最大值和最小值,如果想结束输入0.例子)输入数字:33输入数字:50输入数字:71输入数字:99输入数字:0输出 输入一个整数,判断该数是不是只由数字0~7构成,且不含重复数字c++编程. 输入一个三位正整数判断它能否被各位数字的和整除(c语言编程) C语言 求各位不重复的数字首先输入一个n (n20),代表 1-n输出所有由1-n组成的数,每个数只用且必须用一次.. 比如 输入 9 输出 123456789、123456798…… 谢谢 怎么利用c语言来编程下面的问题补充的代码呢?要求利用函数或指针来编写从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和(忽略整数前的正负号).例如,输入x为1234,则由1234分离 c语言,使用随机函数rand()编写一个猜数字的游戏程序使用随机函数rand()编写一个猜数字的游戏程序.由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”, 趣味C语言问题我想编一个程序:像我们在银行输入自己的密码一样,每输入一个数字它就只显示*(星号)出来.我编了一个程序,但每次输入都要按回车键.能不能有一个程序每输入一个数字它