C語言部落格作業04 陣列

2022-07-24 11:15:13 字數 2521 閱讀 2190

for n to loc do//從陣列最後到插入位置將陣列右移一位

a[n+1]=a[n];

a[loc]=number;//插入位置放入插入資料

char a[1000];

char b[1000];//兩個相加數存放在陣列a和b中

static int c[1100];//和存放陣列c中

int i=0 , j=0 , k=0 ;//迴圈變數,順帶記錄a、b陣列長度

int up, m;//up為兩數相差的位數,m為迴圈變數

迴圈計數,得出a,b兩數的位數和位數差

if(up>0)//a的位數多於b

陣列b右移up位,前面補上'\0'

else if(up<0)//a的位數小於b

陣列a右移up位,前面補上'\0'

while (i >= 0 && j >= 0)

逆序輸出陣列c即為a+b的和

輸入資料

輸出資料

說明大數

最高位進製

最高位不進製

個位

1.部分正確:a、b兩數字數不相等時,只能進行兩數等位部分的計算,導致答案錯誤。最開始想讓多餘的數直接輸出在計算出的和之前。

2.部分正確:最開始的想法是錯誤的,當需要進製時,該方法就不適用了。後來想讓短的數前補上0讓兩數字數相同。

3.答案正確:先計算出兩個數的長度差(a-b),差大於0表示a數字數多於b,讓陣列b右移差值位並在b陣列前補差值個'\0'使兩數字數相等後再進行計算。

char s[80];//存放輸入的字元

static char hash[256];//,初始化為'\0',作用:覆蓋重複字元,按ascii碼輸出

int i;//迴圈變數

int k;//hash陣列的下標

輸入資料

輸出資料

說明hellowworld11

1dehlorw

字母和數字無空格

wwe 22

2ew存在空格重複

------

-全空格('-'代表乙個空格)

1.部分正確:hash陣列的長度不足,當字串中的字元ascii碼過大時會出現錯誤。修改hash陣列長度。

2.部分正確:出現有空格的情況出現錯誤,原因是使用了scanf("%s",s)語句導致遇到空格輸入就結束了,之後將輸入語句改為while迴圈輸入解決空格的問題。

2.編譯錯誤:修改輸入語句時,最後乙個分號變成中文的分號了。

3.答案正確:檢查更改符號,將scanf("%s",s)語句更改為其它的輸入語句,更改hash陣列長度為127。

int n;//矩陣階數

static int a[10][10];//儲存矩陣中資料,使用靜態陣列為了後面的遞增和螺旋條件判斷

int i = 0;//行標

int j = 0;//列標

int k = 0;//迴圈變數

輸入資料

輸出資料說明1

1最小n

9最大n6

偶數n

1.部分正確:在某個轉彎處行列的變化出現錯誤,導致某些階數的螺旋矩陣出錯。

2.部分正確:當n=1時,答案錯誤。

2.答案正確:首先單獨處理n=1的情況,其次仔細跟著編譯器一步一步差錯找規律,看行列的變化情況,更改行列的數值以及自增符。

C語言部落格作業04 陣列

一維陣列 二維陣列 字元陣列 一維陣列 200分 二維陣列 105分 字元陣列 150分 總分 455分 在一大堆資料中找出重複的是一件經常要做的事情。現在,我們要處理許多整數,在這些整數中,可能存在重複的資料。你要寫乙個程式來做這件事情,讀入資料,檢查是否有重複的資料。如果有,輸出 yes 這三個...

C語言部落格作業04 陣列

請以思維導圖總結本週的學習內容。如下圖所示 描述本週學習感受,也可以在這裡提出你不理解地方 對教師教學建議等等。在excel中畫如下 儲存好,複製到部落格隨筆。注意要累計所有 量。貼圖展示。填寫3次題目集的總得分。注意,請把pta 展示給批閱助教,並能完整回答助教問題,才能得滿分。否則根據回答情況給...

C語言部落格作業04 陣列

while 上限 下限 中間值 上限 下限 2 如果 中間值等於所查詢的數 找到資料,退出迴圈 如果 數 中間值 下限 中間值的前一位 否則 上限 中間值後一位 end while 輸入資料 for 遍歷陣列 如果 找到所插入數的位置 該位置往後資料右移一位,該位置賦值為插入的數 end for 輸...