7-1 一元多項式求導 (20 分)
設計函式求一元多項式的導數。
輸入格式:
以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
#include
#include
using namespace std;
const
int maxn =
1000+10
;struct nodes[maxn]
;s2i
(string &s,
int&value)
//string轉化為整型
void
derivative
(int
&length)
else
length--;}
}int
main()
derivative
(i);
for(
int j =
0; j ++j)
}
算術表示式有字首表示法、中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2+3*(7-4)+8/4的字首表示式是:+ + 2 * 3 - 7 4 / 8 4。請設計程式計算字首表示式的結果值。
輸入格式:
輸入在一行內給出不超過30個字元的字首表示式,只包含+、-、*、/以及運算數,不同物件(運算數、運算符號)之間以空格分隔。
輸出格式:
輸出字首表示式的運算結果,保留小數點後1位,或錯誤資訊error。
輸入樣例:
不會7-3 兩個有序鍊錶序列的合法性
同上。7-4 符號配對 (20 分)
請編寫程式檢查c語言源程式中下列符號是否配對:/與/、(與)、[與]、。
輸入格式:
輸入為乙個c語言源程式。當讀到某一行中只有乙個句點.和乙個回車的時候,標誌著輸入結束。程式中需要檢查配對的符號不超過100個。
輸出格式:
首先,如果所有符號配對正確,則在第一行中輸出yes,否則輸出no。然後在第二行中指出第乙個不配對的符號:如果缺少左符號,則輸出?-右符號;如果缺少右符號,則輸出左符號-?。
輸入樣例1:
void test()
.輸出樣例1:
no/*-?
輸入樣例2:
void test()].
輸出樣例2:
no?-]
輸入樣例3:
void test()
.輸出樣例3:
yes
#include
using namespace std;
const
int maxn=
100;
struct stacks[4]
;int t[4]
;int flag[4]
;void
push
(int i,
char c)
void
pop(
int i)
intmain()
push(0
,str[j]);
//入棧
}else
if(str[j]
==''
)push(1
,str[j]);
}else
if(str[j]
=='['
||str[j]
==']'
)push(2
,str[j]);
}elseif(
(str[j]
=='/'
&&str[j]
=='*')||
(str[j]
=='*'
&&str[j]
=='/'))
push(3
,str[j]);
push(3
,str[j]);
}}//重新排序
for(
int k =
0; k <4;
++k)
for(
int k =
1; k <=4;
++k)
else}}
}//尚未完成
7-5 出棧序列的合法性 (25 分)
給定乙個最大容量為 m 的堆疊,將 n 個數字按 1, 2, 3, …, n 的順序入棧,允許按任何順序出棧,則哪些數字序列是不可能得到的?例如給定 m=5、n=7,則我們有可能得到,但不可能得到。
輸入格式:
輸入第一行給出 3 個不超過 1000 的正整數:m(堆疊最大容量)、n(入棧元素個數)、k(待檢查的出棧序列個數)。最後 k 行,每行給出 n 個數字的出棧序列。所有同行數字以空格間隔。
輸出格式:
對每一行出棧序列,如果其的確是有可能得到的合法序列,就在一行中輸出yes,否則輸出no。
輸入樣例:
5 7 5
1 2 3 4 5 6 7
3 2 1 7 5 6 4
7 6 5 4 3 2 1
5 6 4 3 7 2 1
1 7 6 5 4 3 2
輸出樣例:
yesno
noyes
no
(演算法設計與分析)實驗二 熟悉遞迴演算法
利用遞迴知識和c c 語言,提公升自己的程式設計能力,實現遞迴 實現若干個遞迴描述的演算法。1 漢諾塔問題的遞迴演算法 2 棋盤覆蓋問題的遞迴演算法 3 其它 任意設計乙個遞迴問題,寫出遞推關係並實現它。1 漢諾塔遞迴演算法 include using namespace std int i 1 v...
演算法分析與設計實驗 二 之動態規劃
1 能用程式語言實現求解相關問題的演算法 2 深刻掌握動態規劃法的設計思想並能熟練運用 3 理解這樣乙個觀點 同樣的問題可以用不同的方法解決,乙個好的演算法是反覆努力和重新修正的結果。1 用動態規劃法求解問題 2 分析演算法的時間效能,設計實驗程式驗證分析結論。1 理解最優子結構的問題。有一類問題的...
演算法與設計實驗一
include include int isood int n int compare int a,int b using namespace std int main 檔案所有數字輸入的陣列 int b 200 第乙個陣列,從a陣列的第二個數開始分配,分配num個 int c 200 第二個陣列,...