C語言第二次實驗報告

2022-05-05 17:33:09 字數 2925 閱讀 7577

一、目的

& 掌握二維陣列的定義、賦值、使用和輸入輸出方法 ,掌握字元陣列和字串的使用。

&  掌握指標的概念,會定義和使用指標變數,正確使用變數、陣列、字串的指標和指向變數的指標變數。

& 學習單向鍊錶的建立、刪除、

插入(無序、有序)、輸出、

排序(選擇、插入、冒泡)、反序等等。

& 熟悉遞迴函式的基本思想,掌握數值型與非數值型遞迴函式的程式設計問題。

& 掌握結構體變數的定義和使用、掌握結構體陣列的定義和使用、了解結構指標的定義和使用。

二、實驗內容與設計思想

【二維陣列】求矩陣各行元素之和

設計思路:用二維陣列模擬出乙個矩陣原型,二維陣列所對應的兩個巢狀for迴圈對應矩陣的行和列,最後再將行元素分別累加,即可實現最終目的。

**如下:

#include int

main()

;

int m,n,sum=0

; scanf(

"%d %d

",&m,&n);

for(int i=0;i)

}for(int i=0;i)

printf(

"%d\n

",sum);

sum=0

; }

}

執行結果如圖:

【字串】字串字母大小寫轉換設計思路:本題在對陣列有一定了解的基礎上,需要通過定義乙個字元型陣列,在通過acsll碼實現字元元素的大小寫轉化。

**如下:

#include int

main()

else

if(x>='

a'&&x<='z'

)else

if(x>='

a'&&x<='z'

) printf("%c

",x) ;

}return0;

}

執行結果如圖:【陣列和指標】13-2 利用指標找最大值

設計思路:首先定義乙個函式findmax( int *px, int *py, int *pmax ),對應形參為指標型,通過

findmax

函式的比較,找出最大值,並返回對應實引數的位址,得到最大值。

**如下:

#include void findmax( int *px, int *py, int *pmax );

intmain()

void findmax( int *px, int *py, int *pmax )

執行結果如圖:【結構體指標字串】14-8 字串排序

設計思路:此題較為簡單主要學會對於strcpy和

strcmp

的運用,然後在通過比較的字母循序進行排序。

**如下:

#include#include

int main(void

)

for (i = 1; i < 5; i++)

}printf(

"after sorted:\n");

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

puts(a[i]);

return0;

}

執行結果:

【結構體

鍊錶遞迴】15-10 找最長的字串

設計思路:定義乙個字元結構體,在通過統計字串的長度並比較最終的結果。

**如下:

#include#include

struct

s;int

main()

}printf(

"the longest is: %s

",longer[index].name);

return0;

}

執行結果:

三、實驗使用環境

本次實驗在devc環境下除錯

四、實驗小

對於指標的指向問題有時會比較繞,導致許多問題分析不清、理解不清。

對於鍊錶幾乎不會。

結構體定義時沒有對應清楚元素與資料的關係。

寒假要好好補缺補漏。

C語言第二次實驗報告

乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。int a 6 6 int n scanf d n int i,j for i 0 ia j k if i y if flag 0 printf d d i,k else printf...

C語言第二次實驗報告

題1 11 6 方陣迴圈右移 20 分 本題要求編寫程式,將給定n n方陣中的每個元素迴圈向右移m個位置,即將第0 1 n 1列變換為第n m n m 1 n 1 0 1 n m 1列。題2 12 5 查詢指定字元 15 分 本題要求編寫程式,從給定字串中查詢某指定的字元。題3 13 5 判斷回文字...

C語言第二次實驗報告

一 實驗題目,設計思路,實現方法 1.實驗題目 11 4 判斷上三角矩陣 15 分 上三角矩陣指主對角線以下的元素都為0的矩陣 主對角線為從矩陣的左上角至右下角的連線。本題要求編寫程式,判斷乙個給定的方陣是否上三角矩陣。12 3 字串逆序 15 分 輸入乙個字串,對該字串進行逆序,輸出逆序後的字串。...