請編寫程式檢查c語言源程式中下列符號是否配對:/*
與*/
、(
與)
、[
與]
、。
輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.
和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。
首先,如果所有符號配對正確,則在第一行中輸出yes
,否則輸出no
。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號
;如果缺少右符號,則輸出左符號-?
。
void test()
.
no
/*-?
void test()
].
no
?-]
void test()
.
yes
#include
#include
#define maxsize 1003
typedef char elementtype;
typedef struct node *stack;
struct node';
ch1['<'] = '>';
for(i=0;;i++)
gets(ch);
if(ch[0] == '.' && ch[1] == '\0')
break;
for(j=0;ch[j]!='\0';j++)
if(ch[j] == '('||ch[j] == ')' || ch[j] == '' || ch[j] == '['|| ch[j] == ']')
ch2[k++] = ch[j];
else if(ch[j] == '/' && ch[j+1] == '*')
ch2[k++] = '<';
j++;
else if(ch[j] == '*' && ch[j+1] == '/')
ch2[k++] = '>';
j++;
int flag = 1;
for(i=0;iif(ch2[i] == '[' || ch2[i] == '' || ch2[i] == ')' || ch2[i] == '>')
if(s->top != -1 && ch1[s->ch[s->top]] == ch2[i])
s->top--;
else
printf("no\n");
if(s->top == -1)
if(ch2[i] == ')')
printf("?-)");
else if(ch2[i] == '}')
printf("?-}");
else if(ch2[i] == ']')
printf("?-]");
else if(ch2[i] == '>')
printf("?-*/");
else if(ch1[s->ch[s->top]] != ch2[i])
if(s->ch[s->top] == '(')
printf("(-?");
else if(s->ch[s->top] == '[')
printf("[-?");
else if(s->ch[s->top] == '{')
printf("{-?");
else if(s->ch[s->top] == '<')
printf("/*-?");
flag = 0;
break;
if(flag == 1&&s->top == -1)
printf("yes");
else if(flag == 1&&s->top!=1)
printf("no\n");
if(s->ch[s->top] == '(')
printf("(-?");
else if(s->ch[s->top] == '[')
printf("[-?");
else if(s->ch[s->top] == '{')
printf("{-?");
else if(s->ch[s->top] == '<')
printf("/*-?");
return 0;
奧力給沒毛病!!!
奧力給沒毛病!!!
奧力給沒毛病!!!
習題3 8 符號配對 20分
思路 順序棧 1.首先定義棧的結構體,寫棧的出棧,入棧,得棧頂元素 和棧的初始化 2.寫符號匹配的函式 3.對於 的處理 include define maxsize 100 struct stack typedef struct stack seqstack int push seqstack s...
習題3 8 符號配對 20 分
請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...
習題3 8 符號配對 20 分
請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號 如果缺少左符...