2019春第十二周作業

2022-04-30 01:21:12 字數 4037 閱讀 9469

這個作業屬於那個課程

c語言程式設計ii

這個作業要求在**

2019春第十二周作業

我在這個課程的目標是

能夠區分函式指標、指標函式、指標陣列、陣列指標,弄懂二級指標的呼叫

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

對指標陣列的使用有了初步的了解,對鍊錶有了一定的理解

參考文獻

c語言程式設計(第3版)

本題要求實現乙個函式,用於計算有n個元素的指標陣列s中最長的字串的長度。

函式介面定義:

int max_len( char *s, int n );
其中n個字串儲存在s中,函式max_len應返回其中最長字串的長度。

裁判測試程式樣例:

#include #include #include #define maxn 10

#define maxs 20

int max_len( char *s, int n );

int main()

; scanf("%d", &n);

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

printf("%d\n", max_len(string, n));

return 0;

}

/* 你的**將被嵌在這裡 */

int max_len( char *s, int n )

}return max;

}

問題:本題是一次通過的,但是有個問題。問題就是指標陣列裡的每個元素裡儲存的都是位址,既然這樣,那麼s[i]裡應該也是位址,為什麼可以呼叫strlen函式直接求s[i]所指向變數的長度。

解決辦法:在網上查了一下資料,也看了下書,發現這是語法規定。

本題要求實現乙個函式,統計學生學號鍊錶中專業為計算機的學生人數。鍊錶結點定義如下:

struct listnode ;
這裡學生的學號共7位數字,其中第2、3位是專業編號。計算機專業的編號為02。

函式介面定義:

int countcs( struct listnode *head );
其中head是使用者傳入的學生學號鍊錶的頭指標;函式countcs統計並返回head鍊錶中專業為計算機的學生人數。

裁判測試程式樣例:

#include #include #include struct listnode ;

struct listnode *createlist(); /*裁判實現,細節不表*/

int countcs( struct listnode *head );

int main()

/* 你的**將被嵌在這裡 */

問題:有乙個測試點沒過。檢查發現學生學號是字元型的。

解決辦法:把判斷語言中的0、2改為『0』、『2』。

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表、將鍊錶中偶數值的結點刪除。鍊錶結點定義如下:

struct listnode ;
函式介面定義:

struct listnode *createlist();

struct listnode *deleteeven( struct listnode *head );

函式createlist從標準輸入讀入一系列正整數,按照讀入順序建立單鏈表。當讀到−1時表示輸入結束,函式應返回指向單鏈表頭結點的指標。

函式deleteeven將單鏈表head中偶數值的結點刪除,返回結果鍊錶的頭指標。

裁判測試程式樣例:

#include #include struct listnode ;

struct listnode *createlist();

struct listnode *deleteeven( struct listnode *head );

void printlist( struct listnode *head )

printf("\n");

}int main()

/* 你的**將被嵌在這裡 */

問題:這個**是按照書上的**打的,把一些資料改了,對鍊錶不怎麼理解。

解決辦法:自己看書,理解書上的**,然後對自己寫的**進行檢查,最後問了下助教,發現在新建鍊錶時多寫了乙個p->next=null,刪掉就對了。

周/日這周所花的時間

**行數

學到的知識點簡介

目前比較迷茫的問題

3/11-3/15

6小時57

指標的定義與呼叫

無3/18-3/22

8小時80

二維陣列的定義與呼叫

無3/25-3/29

6小時54

呼叫處理字元的函式

無4/01-4/05

6小時78

將陣列名作為指標進行呼叫

無4/08-4/12

6小時104

指標與陣列的關係

無4/15-4/19

6小時133

字串處理函式

無4/22-4/26

6小時91

結構的定義與呼叫

無5/06-5/10

6小時22

遞迴函式、巨集定義、檔案包含

無5/13-5/17

6小時73

指標陣列、二級指標

二級指標和鍊錶有點複雜,需要多做練習來進一步理解。

結對過程:這周雙方先進行編寫,晚自習的時候進行了討論,一是各自的問題,二是各自的思路,對於每到道題雙方都講出自己的寫法,如果雙方都不明白問題所在就會上網去查。

結對程式設計對現階段我們的好處:

1、互相鼓勵,不容易沮喪:團隊工作能增加成員的工作積極性。因為在面對問題的時候,會有人一起分擔,共同嘗試新的策略。

2、互相監督,不容易偷懶:兩個人一起工作需要互相配合,如果想偷懶去幹別的,就會拖延工作進度。

3、互相學習程式設計技巧:在程式設計中,相互討論,可以更快更有效地解決問題,互相請教對方,可以得到能力上的互補。

自己優點:細心,認真,提出建議。缺點:不會遇難而上。

彭星文優點:認真,有耐心,提出建議。缺點:不會往後學習。

2019春第十二周作業

這個教程屬於哪個教程 c語言程式設計 這次作業要求在 我在這個課程的目標是 二級指標的應用,了解指標與函式的關係,掌握指標作為函式返回值掌握單向鍊錶的概念和操作 這個具體在哪個方面幫助我實現目標的 類似於用於資料的刪除 參考文獻 c語言程式設 6 1 計算最長的字串長度 本題要求實現乙個函式,用於計...

2019春第十二周作業

6 1 計算最長的字串長度 15 分 本題要求實現乙個函式,用於計算有n個元素的指標陣列s中最長的字串的長度。int max len char s,int n 其中n個字串儲存在s中,函式max len應返回其中最長字串的長度。include include include define maxn ...

2019春第十二周作業

這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 使用鍊錶 這個作業在那個具體方面幫助我實現目標 深化鍊錶知識 參考文獻 用strlen計算類似於求一維陣列的最大值 用計數器記錄字串第二三個是否為02就可以了 int countcs struct listnode he...