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 ...