PAT 符號配對

2021-07-10 17:38:29 字數 1765 閱讀 1579

5-4 符號配對   (20分)

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

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

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

void test()

.

no

/*-?

void test()

].

no

?-]

void test()

.

yes

#include #include #include #include #include using namespace std;

char a[1000], s[1000], b[1000], b1[1000];

stackss;

int is_op(char c)' || c == '[' || c == ']')

return 1;

return 0;

}int if_com(char s, char t)')

return 1;

else if(s == '[' && t == ']')

return 1;

else if(s == '<' && t == '>')

return 1;

return 0;

}int main()

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

} } n = k;

count = 0;

/* for( i = 0; i < n; ++i)

printf("%c", s[i]);

printf("\n\n");*/

for(i = 0; i < n; ++i)

else

ss.push(s[i]);

} else

ss.push(s[i]);

}if(ss.empty())

else

n = k;

for(i = 0; i < n; ++i)

b1[n - i - 1] = b[i];

int tt = n - 1;

for(i = 0; i < tt; ++i)

} }char aa;

for(i = 0; i < n; ++i)

} if(aa == '(') printf("no\n(-?\n");

if(aa == '[') printf("no\n[-?\n");

if(aa == '') printf("no\n?-}\n");

if(aa == '>') printf("no\n?-*/\n");

} return 0;

}

2 8 符號配對

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

7 2 符號配對

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

ACM 符號配對問題 C

題目鏈結 方法 region 描述 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no endregion namespace acm pairbracket for ...