程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言問題 求高手給出源文件

c語言問題 求高手給出源文件

編輯:C語言問答

c語言問題 求高手給出源文件

50

1.應用棧的知識對代數表達式的合法性檢驗.

下面式子是合法的代數表達式:

a;

a+b*(a+c);

a*a/(b+c);

下列式子是不合法的代數表達式:

ab;

a+b*(c+d);{因子中無字母d}

程序要求

輸入:輸入一個字符,以’#’結束,(’#’本身不是代數表達式中字符,僅作為結束符號)。

輸出:若表達式正確,則輸出’OK’;

若表達式不正確,則輸出’ERROR’及錯誤類型。

錯誤類型約定

① 式子中出現不允許的字符;

② 括號不配對;(括號可以是{ }、[ ]、()。)

③ 其他錯誤。

輸入輸出樣例

輸入a+(b);

輸出OK

輸入a+(b+c*a;

輸出error 2

2.產生數。

問題描述 給出一個整數 n(n<10^30) 和 k 個變換規則(k<=15)。

規則:

   一位數可變換成另一個一位數:

   規則的右部不能為零。

例如:n=234。有規則(k=2):

  2-> 5

  3-> 6

上面的整數 234 經過變換後可能產生出的整數為(包括原數):

 234

 534

 264

 564

共 4 種不同的產生數

問題:給出一個整數 n 和 k 個規則。求出:經過任意次的變換(0次或多次),能產生出多少個不同整數。

僅要求輸出個數。

輸入

  鍵盤輸人,格式為:

   n k

   x1 y1

   x2 y2

   ... ...

   xn yn

輸出

屏幕輸出,格式為:

一個整數(滿足條件的個數):

輸入輸出樣例

  輸入:

   234 2

   2 5

   3 6

  輸出:

   4

3.棧。

棧有兩種最重要的操作,即pop(從棧頂彈出一個元素)和push(將一個元素進棧)。

棧的重要性不言自明,任何一門數據結構的課程都會介紹棧。寧寧同學在復習棧的基本概念時,想到了一個書上沒有講過的問題,而他自己無法給出答案,所以需要你的幫忙。

寧寧考慮的是這樣一個問題:一個操作數序列,從1,2,一直到n(圖示為1到3的情況),棧A的深度大於n。

現在可以進行兩種操作,

1.將一個數,從操作數序列的頭端移到棧的頭端(對應數據結構棧的push操作)

2.將一個數,從棧的頭端移到輸出序列的尾端(對應數據結構棧的pop操作)

使用這兩種操作,由一個操作數序列就可以得到一系列的輸出序列,下圖所示為由1 2 3生成序列2 3 1的過程。(原始狀態如上圖所示)

你的程序將對給定的n,計算並輸出由操作數序列1,2,…,n經過操作可能得到的輸出序列的總數。

輸入格式

輸入文件只含一個整數n(1≤n≤18)

輸出格式

輸出文件只有一行,即可能輸出序列的總數目

輸入樣

3

輸出樣例

5

 

補充:

源文件發到郵箱也可以   [email protected]   謝謝

最佳回答:

你qq多少,最遲我可以在明後兩天擠時間做出來,我發郵件到你的郵箱,附件方式。

追問:
463327622 謝謝
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved