7 3 符號配對 (20 分)

2021-08-28 16:13:53 字數 1587 閱讀 7609

7-3 符號配對 (20 分)

請編寫程式檢查c語言源程式中下列符號是否配對:/**/()[]

輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。

首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號;如果缺少右符號,則輸出左符號-?

void test()

.

no

/*-?

void test()

].

no

?-]

void test()

.

yes
#include#define ok 1

#define error 0

#define overflow -2

using namespace std;

typedef long long ll;

typedef int status;

typedef structsqstack;

status initstack(sqstack&s)

status push(sqstack &s,char e)

status pop(sqstack&s,char e)

char gettop(sqstack s)

bool stackempty(sqstack&s)

int main()

'||str[i]==']')

s[cnt++] = str[i];

else if(str[i]=='/'&&str[i+1]=='*')else if(str[i]=='*'&&str[i+1]=='/')}}

s[cnt++]='\0';

sqstack s;

initstack(s);

bool flag = true;

for(int i=0;s[i];i++)

else if(s[i]==')')else

}else if(s[i]==']')else

}else if(s[i]=='}')else

}else if(s[i]=='*'&&s[i+1]=='/')

}else

i++;}}

if(flag&&stackempty(s)) printf("yes\n");

elseelse')

cout<<'?'<<'-'<<'}'

cout<<'?'<<'-'<<'*'<<'/'<}

}}

7 3 符號配對 (20 分)

7 3 符號配對 20 分 請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙...

7 5 符號配對 20 分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...

7 56 符號配對 20分

請編寫程式檢查c語言源程式中下列符號是否配對 與 與 與 輸入格式 輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。輸出格式 首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對...