堆積如山的第五周作業

2022-05-31 12:09:11 字數 3711 閱讀 4881

這個作業屬於哪個課程

c語言程式設計ii

這個作業要求在**

我在該課程的目標是

學會靈活使用sort排序演算法,與strlen命令的使用

這個作業在那個具體方面幫助我實現目標

關注相關的演算法部落格以及查閱以上相關應用的資料

參考文獻

作業一:英文單詞的排序:

一:試題:7-1 英文單詞排序 (25 分)

本題要求編寫程式,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。如果長度相同,按照輸入的順序不變。

輸入格式:

輸入為若干英文單詞,每行乙個,以#作為輸入結束標誌。其中英文單詞總數不超過20個,英文單詞為長度小於10的僅由小寫英文本母組成的字串。

輸出格式:

輸出為排序後的結果,每個單詞後面都額外輸出乙個空格。

輸入樣例:

blue

redyellow

green

purple

輸出樣例:

red blue green yellow purple

二:分析:1.實際上該題的思路很簡單,即輸入陣列單詞,但是難點就是在如何將單詞的長度與其所屬的單詞對應。很多人將字元輸入後不能單詞的長度與其所屬的單詞對應起來

2.由於英文單詞總數不超過20個,英文單詞為長度小於10,所以我們需要用到二維陣列,以下的思路將會在執行**中標註出來!

三.執行**:

#includeusing namespace std;

int main ()

for(int len = 1; len < i ; len++) //重點在

for(int lens = 0 ; lens < i - len ; lens++ ) //此處

}for(int s = 0 ; s < i ; s++)

printf("%s ",a[s]);//將排序後的單詞輸出!

return 0;

四.執行結果正確截圖:

五.執行流程圖:

六.本題總結:由於這次是在c++上自行除錯執行,所以本題在pta提交時直接一次性ac,其實本次作業使用的方法包含了很多技巧性的東西,包括有一部分老師沒有講解過的知識,所以用了許多小技巧,省去了許多麻煩步驟。本來這次想使用c自帶sort命令進行排序,但是據相關文件,得知sort屬於不穩定排序,無法將單詞的長度與其所屬的單詞對應起來,所以在pta上直接編譯報錯!關於sort命令排序的使用,我還需要多練習相關的習題,並熟練掌握和運用!strlen命令亦是如此!

任務二:1)通過以自己名字命名的檔案輸入英文單詞,(2)英文單詞輸入的結束標記為你學號最後一位數+37所對應的ascii字元。(例如:你的學號最後一位為9,則結束標記為9+37=46所對應的ascii字元「.」)(3)在不刪除原有內容的情況下,將排序後的單詞輸出到檔案。

分析:只需要在自己源**的基礎上進行一定的修改即可!由於我的學號最後一位為8,所以加上37為45,對應的asc||的元素為k!輸入k結束即可

二:執行**:

#includeusing namespace std;

int main()

for(i= 0 ; i < 20 ; i++)

for(int len = 0; len < i ; len++)

for(int lens = 0 ; lens < i - len - 1 ; lens++ )

}for(int s = 0 ; s < i ; s++)

if(fclose (pointer))

return 0;

}

三:正確相關截圖:

四:總結:很久沒有用到相關的檔案指標,手還是有些生,不過我後期還是會努力學習指標相關方面的應用,加大對其學習力度

五.另外,本次對單詞長度的氣泡排序我沒有再多注釋,因為自己是按照教材上說明的方法鍵入,就具體內容就直接參見教材吧

任務三:指標選擇題:2-1

下列語句定義 x 為指向 int 型別變數 a 的指標,正確的是(b)。 (2分)

a.int a, *x = a;

b.int a, *x = &a;

c.int *x = &a, a;

d.int a, x = a;

2-2int *p 的含義是 (2分)b

a.p是乙個指標, 用來存放乙個整型數

b.p是乙個指標, 用來存放乙個整型資料在記憶體中的位址

c.p是乙個整型變數

d.以上都不對

2-3如果有定義:int m, n = 5, *p = &m; 與m = n 等價的語句是 (b) 。 (1分)

a.m = p;

b.p = *&n;

c.m = &n;

d.m = **p;

2-4變數的指標,其含義是指該變數的(b )。 (1分)

a.值b.位址

c.名d.乙個標誌

2-5有如下程式段

int p,a=10,b=1;

p=&a; a=p + b;

c.執行該程式段後,a的值是 (2分)b

a.12

b.11

c.10

d.編譯出錯

2-6對於下列程式,正確的是(a) 。 (2分)

void f(int *p)

int main(void)

a.5b.6

c.10

d.11

2-7執行如下程式段,列印輸出的內容是: (2分) (c)

void fun (int c, int d)

int main ( )

a.5, 9

b.6, 10

c.5, 10

d.6, 9

問題:1.如何使用指針對元素分配記憶體空間

2.如何應用指標進行相關**,元素的執行與計算

最後:學習進度條

結對程式設計總結:本次結對程式設計我的隊友是王雅瓊,在這當中我們相互討論,幫她解決了很多問題,並且將我所學到的相關技巧告訴了她,在幫其修改**時,發現她錯把「 」打成了『 』號,,導致多次測試時出現了亂碼的情況,並且多次查詢都未找出錯因,對我自己來說:還是因為對**的閱讀不仔細,閱讀**能力欠佳,在這一方面我還需要注重相關思維的培養,學會流暢閱讀他人**。對於我隊友來說:可能還是輸入**不仔細,程式設計是一項很細心的活,在執行相關的任務時,容錯率幾乎為零,所以我們還是需要多乙個心眼。至此,我想到了藍橋杯許多未獲獎的選手,他們的**本身能通過編譯,可惜的是他們未按照大賽要求將main函式進行0值得返回,這導致題目得分直接為零,所以差之毫釐,失之千里!還有不少的選手,連最簡單的第一道填空題都未算對,痛失了本應得到的分,他們很多人借用電腦的計算器運算時,竟然將數字輸錯。而我在比賽時,為防止意外,我在計算器上算得的結果到最後還用手算驗算了一遍。總之,盲目自信不可有,細心留意不可無,最後還是需要感謝部落格,感謝老師,感謝一切的it平台給了我乙個這樣的「吐槽」機會,讓我能時刻意識到自己的問題所在並將其記錄下來

第五周作業

includeusing namespace std class student 用引數的初始化表對資料成員初始化。void max student arr void display private int num int score void student display void studen...

第五周作業

5求自然對數 include using namespace std int main cout e 6求圓周率 include include using namespace std int main cout pi約等於 7 include using namespace std int mai...

第五周作業

注意 總時間限制 1000ms 記憶體限制 65536kb 描述寫乙個mystring 類,使得下面程式的輸出結果是 1.abcd efgh abcd 2.abcd 3.4.abcd efgh 5.efgh 6.c 7.abcd 8.ijal 9.ijal mnop 10.qrst abcd 11....