#include "c1.h"
#include "c2.h"
#include "c3.h"
#define SIZE 20
int main()
{
char paren[SIZE];
int i;
int x=0;//检验输入是否有误
LinkList L;
InitList(&L);
printf("检验括号的匹配\n");
printf("输入end结束该程序:\n");
printf("输入括号:");
scanf("%s",paren);
while(strcmp(paren,"end")!=0){
for(i=0;paren[i]!='\0';i++){
if(paren[i]!='('&&paren[i]!=')'&&paren[i]!='{'
&&paren[i]!='}'&&paren[i]!='['&&paren[i]!=']'){
x=1;
}
}
if(x==1){
printf("输入有误!\n");
}
for(i=0;paren[i]!='\0'&&x==0;i++){//当输入无误的情况下,并且不结束程序,进行检验匹配
//InitList(&L);
if(ListLength(L)==0)
ListInsert(L,1,paren[i]);
else{
if(L->next->data=='('&&paren[i]==')')
ListDelete(L,1);
else if(L->next->data=='['&&paren[i]==']')
ListDelete(L,1);
else if(L->next->data=='{'&&paren[i]=='}')
ListDelete(L,1);
else ListInsert(L,1,paren[i]);
}
}
if(x==0){
if(ListLength(L)==0){
printf("匹配成功!\n\n");
//printf("%d",ListLength(L));用于检验算法的正确与否
//ListTraverse(L);
}
else{
printf("匹配不成功!\n\n");
//printf("%d",ListLength(L));用于检验算法的正确与否
//ListTraverse(L);
}
}
printf("输入end结束该程序\n");
printf("输入括号:");
scanf("%s",paren);
x=0;//初始x的值,以进行下一次的检验
InitList(&L);//重建新的链表
}
system("pause");
return 0;
}

yanghuanbei
- 粉丝: 1
最新资源
- 基于C51单片机简易计算器的课程设计.doc
- 中小企业15种常见的网络营销推广方式汇总(整理).pdf
- 数字图像处理课程设计报告.doc
- (源码)基于ESP32和DS3231的Roomba虚拟墙系统.zip
- 工程项目管理部门工作总结.docx
- 酒店网络解决方案.doc
- 网络营销环境SWOT分析.doc
- 数据挖掘案例利用数据挖掘发掘金融市场交易规则.doc
- 《导数的四则运算法则》教学设计.pdf
- 项目管理与招标采购复习要点.doc
- 区块链概念详解.doc
- 中国物资储运总公司仓储信息化解决方案.doc
- 个人AI助手,集成语言识别,图像识别,自然语言处理的深度学习模型
- 交通运输系统安全整治方案.doc
- 收藏的精品资料认识实习焊接技术单片机解读.doc
- 李宁体育用品有限公司绩效考核之KPI指标体系(网络版).doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论0