大計基程式設計題(第十周)

2021-10-05 08:07:16 字數 4312 閱讀 7149

叛逆期的小明什麼都喜歡反著做,連看數字也是如此(負號除外),比如:

小明會把1234它看成4321;把-1234看成-4321;把230看成032 (032=32);把-230看成-032(-032=-32)。

現在,小明做了一些a+b和a-b的題目(a, b為整數且不含前導0),如果給你這些題目正確的答案,你能猜出小明會做得到什麼答案嗎?

輸入:

兩個整數x,y(-1000000 < = x, y < =1000000), x表示a+b的正確答案,y表示a-b的正確答案。

輸入保證合法,且不需考慮a或b是小數的情況。

輸出:

輸出兩個整數s t,之間用乙個空格分開,其中s表示小明將得到的a+b答案,t表示小明將得到的a-b答案。

#include

#include

void

how(

int x,

int y)

;//定義函式how()原型

intmain()

void

how(

int x,

int y)

//將不同位數上的數儲存

int f = i-1;

for( f ; f >=

0; f--

)//取反

while

(y !=0)

int g = j-1;

for(g; g >=

0; g--

)printf

("%d %d"

, c + d, c - d)

;}

ackermann函式ack(m,n)採用以下遞迴式定義:

ack(0,n)=n+1

ack(m,0)=ack(m-1,1)

ack(m,n)=ack(m-1,ack(m,n-1))

其中,m>0,n>0

編寫乙個計算此函式的遞迴函式。

測試用例:

如輸入:

1,1則輸出:

3直接按照題目意思來,沒啥技巧

#include

intack

(int m,

int n)

else

if(n ==0)

else

//if (m > 0 && n > 0)

}int

main()

題目描述:

有一分數序列如下: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13, … 即後一項的分母為前一項的分子,後項的分子為前一項分子與分母之和,求其前n項之和。

輸入輸出格式:

輸入:項數n(整數)

輸出:前n項之和(實數,注:保留4位小數)

樣例

610.0071

#include

intmain()

printf

("%g"

, sumn)

;//注意這裡要用%g,不然用例可能沒辦法通過,問就是系統要求

}

題目描述:

定義包含5個英文單詞的字元陣列(即二維字元陣列),鍵盤輸入5個單詞,按字典順序尋找最大和最小單詞並輸出。

輸入輸出格式:

輸入:5個單詞

輸出:最大和最小單詞(按字典序)

樣例:

輸入:

monday

tuesday

thursday

friday

januar

輸出:

max:tuesday

min:friday

#include

#include

intmain()

strcpy

(min,ch[0]

);strcpy

(max,ch[0]

);for(i=

1;i<

5;i++

)elseif(

strcmp

(min,ch[i]

)>0)

}printf

("max:%s\nmin:%s\n"

,max,min)

;}

題目描述:

編寫乙個求陣列中最小值元素及該元素位置的函式,並編寫主函式呼叫。要求:由鍵盤輸入10個數,並存放於整型陣列中。

輸入輸出格式:

**輸入:**使用者輸入的10個數

**輸出:**第乙個數字為陣列中的最小元素值 第二個數字為該元素在陣列中的下標位置(兩個數用空格分開)

#include

struct mystruct//定義結構體儲存i和min

;struct mystruct where

(int a[10]

);intmain()

struct mystruct tol =

where

(b);

printf

("%d %d"

, tol.min, tol.i)

;return0;

}struct mystruct where

(const

int*a)

}return tol;

}

編寫函式,函式原型如下:

void fun(int n,char res);

函式功能是將整數n的各位數字逆序排列,存放到res字元陣列中。

例如整數1035,逆序後為5301

程式測試舉例,如輸入:

則輸出:

#include

void

fun(

int n,

char res)

;int

main()

void

fun(

int n,

char res)

//將不同位數上的數儲存

int f = i -1;

for(f; f >=

0; f--

)//儲存到res中

for(size_t j =

0; j )//輸出

}

編寫進製轉換函式,函式原型如下:

void dtoboh(int n,int t,char res);

功能是將十進位制整數n(n>=0)轉換為t進製數(即2、8及16進製制),結果存放在res字元陣列中。

並編寫測試用的主函式。

如輸入:

248,2

則輸出:

如輸入:

248,8

則輸出:

如輸入:

248,16

則輸出:f8

#include

void

dtoboh

(int n,

int t,

char res)

}else

//轉換進製為十以上

} res[i++]=

'!';

//用於下方主函式來判斷是否結束輸出

}int

main()

dtoboh

(a, b, res)

;for

(i =

0; res[i]

!='!'

; i++);

for(i--

; i >=

0; i--

)printf

("%c"

, res[i]);

//倒序輸出

return0;

}

第十周周小結

2.本次工作任務 本週老師沒有明確的給每個團隊留這週的作業,因為每個團隊的專案進入到了開發階段,老師只是要求每個團隊每天必須有要有明確的任務,提交量和團隊內部每日例會總結上傳到碼雲倉庫,助教每天每天進入倉庫檢視,他們專案倉庫的提交結果並進行點評和打分。我負責的團隊 web5組,web8組,web9組...

第十周總結

這周一開始說的是要考試,但是最後又說等通知,所以就有時間複習了,要是真的這周考試那就涼涼了。之前學的有的忘了,有的是根本都不會,反正都得從頭開始看。這周講課的時候我看了看講課表,嗯,下下個星期就到我了。下個星期又要考試,所以說還是考試重要,講課先放到一邊,等考試過了再說,畢竟考的那兩門都挺難的。不過...

第十周題解

class solution else if p index p.length p.charat p index else if sstart 1 else s中的字元都判斷完畢,則認為s為空,此時需要p為空或者p中只剩下星號的時候,才能成功匹配。如果p中剩餘的都是 則可以移除剩餘的 while p...