重言式判别c语言中文网,重言式判别 重言式判别源码及课程设计 c语言版.doc
重言式判别 重言式判别源码及课程设计 c语言版
重言式的判别 题目:
一个逻辑表达式如果对于其変元的任一种取值都为真,则称为重言式;反之,如果对于其变元的任一种取值都为假,则称为矛盾式;然而,更多的情况下,既非重言式,也非矛盾式。试写一程序,通过真值表判别一个逻辑表达式属于上述哪一类。
一、需求分析
1、逻辑表达式从终端输入,长度不超过一行。 2、逻辑运算符包括“|”“&”“~”表示或 与 非。运算符优先程度递增,但是可由括号改变。
3、逻辑变元为大写字母表达式中任何地方都可以含有多个空格符。
4、运用自底向上的算符优先法 5、重言式显示“true forever”;矛盾式显示“false forever”; 否则显示“satisfactible”。
二、概要设计
为实现上述需求需要用到自底向上的算符优先法,和自顶向下分割,先序遍历建立二叉树的方法。 自底向上的算符优先法:
{
char OPTRCHART[7][7]= ' ','|','&','~','(',')','#', '|','>','','>',
'&','>','>','','>',
'~','>','>','>','','>',
'(','',
')','>','>','>','>','>','>',
'#','
};
switch(cmp(GetTop(&OPTR)->data,*p)) {
case '': break; }/*switch*/ 建立二叉树: typedef struct BiTNode { struct BiTNode * Lchild; struct BiTNode * Rchild; ElemType data; }BiTNode , *BiTree;
栈中的操作:
typedef struct Node
{
BiTree * base;
BiTree *top;
int stacksize;
}SqStack;
入栈操作及出栈销毁栈的操作:
int InitStack(SqStack * stack)
{
stack->base=(BiTree*)malloc(STACK_INIT_SIZE*sizeof(BiTree)); if(!stack->base)
exit(OVERFLOW);
stack->top=stack->base;
stack->stacksize=STACK_INIT_SIZE;
return OK;
}
BiTree GetTop(SqStack * stack)
{
if(stack->top==stack->base)
return NULL;
return *(stack->top-1);
}
int Push(SqStack * stack,BiTree Bitnode)
{
if(stack->top-stack->base>=stack->stacksize)
{
stack->base=(BiTree*)realloc(stack->base,(stack->stacksize+STACKINCREAMENT)*sizeof(BiTree));
if(!stack->base)
exit(OVERFLOW);
stack->top=stack->base+stack->stacksize;
stack->stacksize+=STACKINCREAMENT;
}
*(stack->top)=Bitnode;
stack->top++;
return OK;
}
BiTree Pop(SqStack * stack)
{
if(stack->top==stack->base)
return ERROR;
return *(--stack->top);
}
int DestroyStack (SqStack * stack)
{
free(stack->base);
return OK;
}
三、详细设计
详细程序如下:
#include<
重言式判别c语言中文网,重言式判别 重言式判别源码及课程设计 c语言版.doc相关推荐
- c语言利用指针函数等完成学生成绩管理系统,课程设计C语言可视化程序学生成绩管理系统...
<课程设计C语言可视化程序学生成绩管理系统>由会员分享,可在线阅读,更多相关<课程设计C语言可视化程序学生成绩管理系统(37页珍藏版)>请在人人文库网上搜索. 1.C语言可视化 ...
- dsp课程设计c语言源码,DSP课程设计-基于C语言实现256点的FFT精选.pdf
DSP课程设计-基于C语言实现256点的FFT精选 XX 大学 J1111111 UNIVERSITY DSP 课 程 设 计 基于CCS 的FFT 算法的C 语言实现和验证 学院名称: 专业班级: ...
- c语言 一元多项式乘法,[内附完整源码和文档] 基于C语言实现的一元多项式的计算...
一.概述 通过C语言使用链式存储结构实现一元多项式加法.减法和乘法的运算.按指数降序排列. 二.需求分析 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式 ...
- 单片机c语言24小时的计时程序框图,电子时钟单片机课程设计(WIT)要点解析.doc
电气信息学院 单片机原理及应用课程设计报告 课题名称 电子时钟的设计 专业班级 电气自动化 学 号 学生姓名 指导教师 评 分 2014年12月22日至12月28日答辩记录 1.例举设计过程中遇到的问 ...
- python在abaqus中的应用代码下载_Python-(source-code)-in--Abaqus Python语言在Abaqus中的应用(源码) - 下载 - 搜珍网...
Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码)/Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码 ...
- C语言Kruskal 算法 (MST)(附完整源码)
C语言Kruskal 算法 MST的算法 C语言Kruskal 算法 MST算法完整源码(定义,实现,main函数测试) C语言Kruskal 算法 MST算法完整源码(定义,实现,main函数测试) ...
- C语言线性插值lerp算法(附完整源码)
求二个数的最大公约数和最小公倍数 实现以下接口 C语言实现线性插值lerp算法完整源码(定义,实现,main函数测试) 实现以下接口 float lerp(float k0, float k1, fl ...
- 中英翻译机c语言实验报告引言,课程设计--C语言关键字中英翻译机.doc
课程设计--C语言关键字中英翻译机.doc 课 程 设 计 报 告学院.系 吉林大学珠海学院计算机科学与技术系专业名称 计算机科学与技术课程设计科目 C 语言程序课程设计所在班级 4 班学生学号 04 ...
- c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc
C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...
最新文章
- c++中的基本知识点
- 视频播放器的极致体验优化
- 629. K个逆序对数组
- LINQ - 對付 SQL Injection 的 免費補洞策略 (转)
- querywrapper 时间区间查询_雅思官方:关于增设用于英国签证及移民的雅思考试考点的通知!附20192020雅思考试时间安排...
- mac android 证书生成工具,MAC系统下,生成安卓证书的命令
- 我就随便写写,你也随便看看。
- 计算机d盘的权限怎么解决,D盘没权限,不能删除更改任何文件解决方法
- CentOS node,npm,cnpm 环境部署
- [转]Java jdbc数据库连接池总结!
- 设置将Maven的jar包发布到lib
- MyEclipse安装配置maven插件
- Python3爬取妹子图——爬虫下载网络图片
- win10快捷键及浏览器快捷键
- 后场村的加班别有不同
- vscode复制代码到wps中怎么不带黑色背景
- CDH踩坑记录之:熵不足
- operators库
- android ppt素材,华为ppt素材库
- 凸优化、轨迹优化、最优控制