高階語言程式設計第七次個人作業

bomple發表於2024-11-13

班級:https://edu.cnblogs.com/campus/fzu/2024C
作業要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304
學號:102400202
姓名:高婭婷

第一題
(1)定義一個二維陣列和指向該陣列的指標,分別以陣列下標和指標的形式引用陣列各個元素進行賦值與輸出。

第二題
(2)構造螺旋方陣。對任意給定的N,將1到N×N的數字從左上角第1個格子開始,按順時針螺旋方向順序填入N×N的方陣裡。

輸入格式:

輸入在一行中給出一個正整數N(<10)。

輸出格式:

輸出N×N的螺旋方陣。每行N個數字,每個數字佔3位。

輸入樣例:

5

輸出樣例:

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

問題:不知道怎麼螺旋輸出
解決:上網查詢

第三題
(3)7門課程的成績分別存放在score[n][1]、score[n][2]、...、score[n][7]中,第0列用來存放總成績。請編寫一個函式實現計算成績表score中每一個學生7門課程的總成績,並將總成績存放在該學生的第0列中。請在main函式中構造資料測試你寫的函式。

問題:只對s[0][0]初始化,導致剩下幾行求和結果錯誤
解決:s[0][0]=0改成s[i][0]=0

第四題
(4)將以下定義的含義寫出來。

a)int a; b)int a; c)int **a; d)int a[10]; e)int (a)[10];

第五題
(5)給定一個二維陣列,使用指標把陣列中的數字複製到另一個陣列中相同的位置。
問題:沒有對陣列x[4][4]初始化
解決:把陣列x[4][4]初始化為0

第六題
(6)請編寫一個函式,接受一個字串指標作為引數,並返回該字串的長度,不包括字串結尾的空字元。

第七題
(7)輸出以下內容,並解釋每一個輸出內容的含義。

int a[3][4] = {0};

printf("%d\n",sizeof(a));

printf("%d\n",sizeof(a[0][0]));

printf("%d\n",sizeof(a[0]));

printf("%d\n",sizeof(a[0]+1));

printf("%d\n",sizeof(*(a[0]+1)));

printf("%d\n",sizeof(a+1));

printf("%d\n",sizeof(*(a+1)));

printf("%d\n",sizeof(&a[0]+1));

printf("%d\n",sizeof(*(&a[0]+1)));

printf("%d\n",sizeof(*a));

printf("%d\n",sizeof(a[3]));)

問題:分不清楚sizeof(a[0]+1)和sizeof(*(&a[0]+1))
解決:上網查詢

第八題
(8)鍵盤輸入一個長度為len(1 <= len < 30)的字串,再輸入一個正整數 m(1 <= m <= len),將此字串中從第 m 個字元開始的剩餘全部字元複製成為另一個字串,並將這個新字串輸出。要求用指標處理字串。

問題:'\0'寫成'/0'導致沒有輸出結果
解決:'/0'修改為'\0'

思考總結:還是分不太清楚部分指標變數表示的意思,編寫關於指標的函式存在很多錯誤,還要多加練習。

相關文章