函數 數組 循環


 

 

 

一,PTA實驗作業

題目1

7-1 求組合數 15

本題要求編寫程序,根據公式Cnm​​=m!(nm)!n!​​算出從n個不同元素中取出m個元素(mn)的組合數。

建議定義和調用函數fact(n)計算n!,其中n的類型是int,函數類型是double

1.提交列表

 

2.設計思路

將所需元素輸入 ,再調用函數fact()即可。

3.調試過程

當m==n/2時,結果錯誤。沒注意定義成了int型   將其改為double類型即可

題目2

7-3 求冪之和 15

本題要求編寫程序,計算sum=21​​+22​​+23​​++2n​​。可以調用pow函數求冪。

1.提交列表

 

2.設計思路

調用pow函數,再進行累加求和。

3.調試過程

第一次因為在輸出時忘記加空格,所以導致格式錯誤。第二次加上空格就正確了。

題目三

7-10 判斷素數 10

本題的目標很簡單,就是判斷一個給定的正整數是否素數。

1.提交列表

2.設計思路

 

3.調試過程

一遍過。

二,同學代碼結對互評。

題目

7-8 求n以內最大的k個素數以及它們的和 20

本題要求計算並輸出不超過n的最大的k個素數以及它們的和。

許日禎同學的代碼

我的代碼

啊,我的代碼真是長到自己都不知道怎么打出來的,無可厚非,小日同學的代碼更簡短更清晰,完美勝出。但是,我會用數組啊,不過貌似在這題上不太適合。以后會多加注意審題,理清思路。

三,PTA排名

四,本周學習總結

函數是一個完成特定工作的獨立程序模塊,由C語言系統提供定義,編程時只要直接調用即可,不同函數完成的是不同的功能,但它們都有一個共同點----實現一個計算,並可以得到一個明確的計算結果。函數首部后面不能加分號,他和函數體一起構成完整的函數定義。實參和形參一一對應,數量應相同,順序應一致。return語句只能返回一個值。函數聲明是一條C語句,而函數定義時的函數部首不是語句,后面不能跟分號。

這次PTA的第六題還是不會。

 

一,PTA實驗作業

題目1

7-2 求最大值及其下標(20 分)

本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。

1.提交列表

2.設計思路

把數字存入數組,再首尾交換

3,調試過程

一遍過。

題目2

7-6 冒泡法排序(20 分)

N個整數按從小到大排序的冒泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的后面元素,則交換它們。通過一遍掃描,則最后一個元素必定是最大的元素。然后用同樣的方法對前N1個元素進行第二遍掃描。依此類推,最后只需處理兩個元素,就完成了對N個數的排序。

本題要求對任意給定的K(<N),輸出掃描完第K遍后的中間結果數列。

1.提交列表

2.設計思路

利用數組存入數字,再循環判斷,依次比較,再輸出。

3,調試過程

第一次編譯錯誤是由於語句結束忘記加分號,第二次部分正確,,,至今原因不明,,,啊,難過

題目3

7-4 查找整數(10 分)

本題要求從輸入的N個整數中查找給定的X。如果找到,輸出X的位置(從0開始數);如果沒有找到,輸出“Not Found”。

1.提交列表

2.設計思路

定義一個數組a,將整數存入數組中,再給定數字b,將數組與數字進行比較看是否相等,循環至結束

3.調試過程

一遍過。

二,同學代碼互評。

題目

7-13 找鞍點(20 分)

一個矩陣元素的“鞍點”是指該位置上的元素值在該行上最大、在該列上最小。

本題要求編寫程序,求一個給定的n階方陣的鞍點。

我的代碼

雷慧同學的代碼

啊,沒有對比就沒有傷害,看看雷慧妹子的代碼,比我的短,思路也清晰,我的沒有將其匯總,比較凌亂導致部分正確,頭腦也好亂,嗯,的確收獲很多打代碼的的技能,下次打代碼前一定要畫流程圖。

三,PTA排名

四,學習總結

不能分配常量大小為0的數組。
訪問數組要用下標訪問,且下標要從0開始。
數組在內存中連續存放。
數組的數組名相當於數組首元素的地址。
sizeof(數組名),數組名表示整個數組,求的是整個數組的大小;&數組名,數組名表示整個數組,取出來的是數組的地址。除此之外,所有的數組名均表示首元素的地址,地址均為四個字節。
二維數組的表示:int arr[ ] [4] (對); int arr[3] [ ] (錯)。
二維數組的理解:int arr[3] [4]可以理解為三個一維數組,每個一維數組中有四個元素。
若 int *p = arr , 則 i [arr] = i ; arr [i] = i ; *(i+arr) = i ; * (p+i) = i ; p [i] = i 這些表示法均成立。
一維數組的大小計算:int arr [10]={0}; int sz =sizeof(arr) / sizeof (arr[0])

本次PTA作業第7,9題還不會。

 

一.PTA實驗作業

題目1

7-7 計算階乘和

對於給定的正整數N,需要你計算 S=1!+2!+3!+...+N!。

1.提交列表

2.設計思路

每輪循環求i的階乘,加給sum,再將i+1,進行下一輪循環,當i大於N時,循環結束。

3.本題調試

第一次提交審錯題,第二次就OK了,第三次大概是忘了交過又交了一遍。

題目2.

 7-19 求簡單交錯序列前N項和

本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和。

1.提交列表

2.設計思路

定義flag,denominator為分子和分母,i為循環執行次數,item為每次循環時分子除以分母的值,每輪循環將item加給sum。每輪循環將item加給sum題目中每隔一次循環item變號,所以每次循環時將flag變號,同時將i加一,直到i到大於n,停止循環,輸出sum的值。

3.調試過程

定義a為已循環次數,但在每次循環夠沒有將其加一,導致程序進入死循環。

題目3.

1.7-5 找出最小值

 本題要求編寫程序,找出給定一系列整數中的最小值。

1.提交列表

 

2.設計思路。

輸入n為循環次數,先輸入一個整數,讓它為最小值,之后每輪循環都輸入一個整數,將這個整數與當前最小值比較,若小於最小值,則將其賦值給最小值。

3.調試過程

 

定義了I,后面又使用了i,導致編譯錯誤。

二.同學代碼結對互評。

PTA40題

我的代碼

雷慧同學的代碼

此題雖然我不懂非零返回是個什么鬼錯誤,總感覺自己的沒錯,但是經過雷慧同學的指導,我知道本題用子函數加循環體做更合適。

雷慧同學的代碼設計更清晰簡單。

三.截圖本周PTA最后排名

四.本周學習總結

1.我學到了

while和for 循環都可以用來處理同一個問題,一般可以互相代替。
對於while和do-while循環,循環體中應包括使循環趨於結束的語句。
用while和do-while循環時,循環變量初始化的操作應在while和do-while語句之前完成,而for語句可以在內部實現循環變量的初始化。
for循環是最常用的循環,它的功能強大,可以代替其他循環。

2.第8,9題還是不會做。

3.循環結構考試總結:

while

特點:如果一開始條件不成立,永遠不會執行循環體

do while

特點:不管條件是否成立,至少會執行一次循環體

 for

選擇:一般優先考慮for循環,然后在考慮while循環,但需要根據具體情況,有時while比for好用

break的使用:1.switch語句:退出整個switch語句 2.循環結構:退出整個循環結構

注意點:多重嵌套只對最近的的循環體有效

continue的使用:結束當前這次的循環體,進入下一次循環體。

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM