三九宝宝网宝宝教育教学论文

C语言判断给定表达式的括号是否匹配

02月10日 编辑 39baobao.com

[c语言括号匹配]有些特殊解没考虑:当左括号溢出的时候(即左括号大于右括号) 如: 1 2 3 4 5 //在一个合法的括号匹配 左边 加上 不比最外层括号小 的括号 程序将输出错误。 如 { //以及单单一个[...+阅读

#include

#include

int main(int argc, char *argv[])

{

char c;

int i=0,n;

int output[100];

int lefts=0,leftm=0,leftb=0;

int rights=0,rightm=0,rightb=0;

while((c=getchar())!='*')

{

if(c=='\n')

{

if(lefts == rights & leftm == rightm & leftb ==rightb)output[i]=1;

else output[i]=0;

lefts=0;

leftm=0;

leftb=0;

rights=0;

rightm=0;

rightb=0;

i++;

}

if(c == '(' )lefts++;

if(c == ')' )rights++;

if(c == '[' )leftm++;

if(c == ']' )rightm++;

if(c == '{' )leftb++;

if(c == '}' )rightb++;

}

n=i;

for(i=0;i

{

if(output[i]==1)printf("yes\n");

else printf("no\n");

}

system("pause");

return 0;

}

这是程序,当输入星号*就结束。不论是否一行只有它。有点不符合题意呃。你可以改改。

上面那个人写的为单行输入。且没有考虑中括号和大括号。

以下为关联文档:

c语言括号配对程序//这题也可用到数组完成的,如下所示,有问题可以随时联系 //不过你给出的输出结果不正确吧,应是这样的: /* 0 16 1 5 11 15 */ #include <stdio.h> #include "stdlib.h" #include "i...

c语言括号配对问题#include<stdio.h> int main() { int n,j,i; scanf("%d",&n); for(;n>0;n--) { char s[1000]={0}; //不超过1000表示最示最大1000个字符,要给\0留个位置 scanf("%s",s); j=0; //j...

c程序设计中的括号匹配问题描述 1设某一算术表达式中包含圆括号int isMatch(char *expr) { int i; int flag1 = 0,flag2 = 0,flag3 = 0; for(i = 0; expr[i]; ++i) { if(expr[i] == '(') ++flag1; if(expr[i] == ')') --flag1; if(expr[i...

判断圆括号是否配对用C语言如何实现如果只有圆括号(没有[ ] 或 { }),不需要构造一个栈。因为用栈实现时,栈里装的都是一模一样的左括号 '(' ,因此我们只需定义一个 整型变量 来记录 栈中元素的个数 即可。具体代码如...

数据结构里括号匹配的程序用C语言编写的#includeusing namespace std; #define maxsize 100 struct sStack { char sign[maxsize]; int top; }; int InitsStack(sStack &SS) { SS.top=-1; return 1; } int IsEmpty...

编写一个测试程序检查一个C语言程序中括号的配对情况头文件:(另存为SeqStack.h)typedef struct{ DataType stack[MaxStackSize]; int top;} SeqStack;void StackInitiate(SeqStack *S) /*初始化顺序堆栈S*/{ S->top = 0; /*定义初...

c语言括号匹配问题栈我写的程序感觉有点错找不到原因大概有这3个问题:1. 资源没有清理2. 部分逻辑错误3. 栈操作错误 带注释修改如下:#include#include#includestruct Node { char fuhao; struct Node *next; }; struct S { stru...

用C或C编写括号配对检查程序思路倒是简单,就是利用栈来匹配。简单的数据结构应该包括 符号类型(区分小中大括号),括号出现在字符串的位置这些。 读入字符,如果是左括号,则入栈,如果是左注释/则看后面是否有*如...

C语言问题括号配对#include <iostream> #include <stack> #include <string> using namespace std; int main() { int N; cin>>N; while(N--) { string a; stack<char> s; cin>>a; for(int i=...

推荐阅读
图文推荐