c有乙個棧的模版庫#include,裡面提供一些標準方法。
1 s.push(i) :向堆疊中壓進乙個數值為i的元素。
2 int x = s.top() : 讀取棧頂元素,並將其值賦給x
3 s.pop() : 彈出棧頂元素
題目描述:
在某個字串(長度不超過100)中有左括號、右括號和大小寫字母;規定(與常見的算數式子一樣)任何乙個左括號都從內到外與在它右邊且距離最近的右括號匹配。寫乙個程式,找到無法匹配的左括號和右括號,輸出原來字串,並在下一行標出不能匹配的括號。不能匹配的左括號用"$"標註,不能匹配的右括號用"?"標註.
輸入:輸入包括多組資料,每組資料一行,包含乙個字串,只包含左右括號和大小寫字母,字串長度不超過100。
注意:cin.getline(str,100)最多只能輸入99個字元!
輸出:對每組輸出資料,輸出兩行,第一行包含原始輸入字元,第二行由"$","?"和空格組成,"$"和"?"表示與之對應的左括號和右括號不能匹配。
樣例輸入:
)(rttyy())sss)(
樣例輸出:
)(rttyy())sss)(
? ?$
2023年北京大學計算機研究生機試真題
**如下:
#include#includeusing namespace std;
stacks;
char str[110];
char ans[110];
int main()
else if(str[i] == ')')
else ans[i]='?';
}else ans[i]=' ';
}while(!s.empty())
ans[i] =0;
puts(str);
puts(ans);
}return 0;
}
現在的感悟就是要好好練演算法能力,雖然有一些題第一次看不會做,但不能抄一遍答案就行了,而是要自己再刪除重新寫一下。 計算機機試題 分解素因數
求正整數n n 1 的質因數的個數。相同的質因數需要重複計算。如120 2 2 2 3 5,共有5個質因數。可能有多組測試資料,每組測試資料的輸入是乙個正整數n,1 n 10 9 對於每組資料,輸出n的質因數的個數。1205注意 1不是n的質因數 若n為質數,n是n的質因數。如下 include i...
集合棧計算機
集合棧計算機 題目是這樣的 有乙個專門為了集合運算而設計的 集合棧 計算機。該機器有乙個初始為空的棧,並且支援以下操作 push 空集 入棧 dup 把當前棧頂元素複製乙份後再入棧 union 出棧兩個集合,然後把兩者的並集入棧 intersect 出棧兩個集合,然後把二者的交集入棧 add 出棧兩...
集合棧計算機
有乙個專門為了集合運算而設計的 集合棧 計算機。該機器有乙個初始為空的棧,並且支援以下操作 push 空集 入棧 dup 把當前棧頂元素複製乙份後再入棧 union 出棧兩個集合,然後把兩者的並集入棧 intersect 出棧兩個集合,然後把二者的交集入棧 add 出棧兩個集合,然後把先出棧的集合加...