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。然後在第二行中指出第乙個不配對...