一維陣列
二維陣列
字元陣列
一維陣列:200分
二維陣列:105分
字元陣列:150分
總分:455分
在一大堆資料中找出重複的是一件經常要做的事情。現在,我們要處理許多整數,在這些整數中,可能存在重複的資料。
你要寫乙個程式來做這件事情,讀入資料,檢查是否有重複的資料。如果有,輸出「yes」這三個字母;如果沒有,則輸出「no」。
定義整型變數n用於表示陣列長度
定義num陣列用於輸入一串資料
定義並初始化same陣列使其陣列中的每個單元都為零
定義flag用於判斷資料是否有重複
輸入nfor i=0 to n do
輸入nu[i]
end for
for i=0 to n do
same[num[i]]++ //same陣列用於計數num陣列中一些數的個數
if same[num[i]]==2 then //如果same陣列中這個單元等於2,則說明num中存在兩個重複的數
flag=1
退出迴圈
end if
end for
if flag==0 then
輸出no end if
if flag==1 then
輸出yes end if
乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小。
本題要求編寫程式,求乙個給定的n階方陣的鞍點。
定義n表示要輸出n行n列的矩陣
定義二維陣列num
定義i,j,k用於迴圈;flag用於判斷矩陣中的數是否為鞍點;count用於計數鞍點個數
輸入 n
輸入n行n列的num矩陣
for i=0 to n do
for j=0 to n do
for k=0 to n do
if k!=i then
if num[i][j]>num[k][j] then
flag=0 退出迴圈
end if/*如果在j列上有其他的數大於判斷的數,則該判斷的數不是鞍點,將flag賦值為0,跳出迴圈*/
輸入2個大數,每個數的最高位數可達1000位,求2數的和。
定義op1和op2兩個字元陣列用於存放兩個大數;
定義num1和num2兩個整型陣列用於存放兩個大數倒過來的數,便於相加;
定義i,j用於迴圈;
在兩個陣列op1,op2中輸入兩個大數;
定義n用於存放字串長度較大的那個長度數值;
for i=strlen(op1),j=0 to i>=0 do
num1[j]=op1[i]-'0'
i--;j++
end for /*將字元數字轉化為整型數字,並且逆序 */
for i=strlen(op2),j=0 to i>=0 do
num2[j]=op2[i]-'0'
i--;j++
end for /*將字元數字轉化為整型數字,並且逆序 */
n=(strlen(op1)>=strlen(op2))?strlen(op1):strlen(op2);//判斷兩個字元陣列的長度,並將長的陣列長度賦值給n
for i=0 to n-1 do
num1[i]=num1[i]+num2[i];//將兩個陣列中同個單元的數相加並賦值給num1陣列
if num1[i]>=10 then
num1[i]-=10;
num1[i+1]+=1;
end if /*如果陣列中同個下標的數相加大10,則該下標的數減去10,並該下標加1單元的數加1*/
end for
if num1[n]==1 then //判斷num[n] 是否為1,如果為1則說明兩個大數的最後兩個數相加大於10,輸出的陣列長度應加1
for i=n to 0 do
輸出num1[i]
i--end for
else do
for i=n-1 to 0 do
輸出num1[i]
圖1
C語言部落格作業04 陣列
請以思維導圖總結本週的學習內容。如下圖所示 描述本週學習感受,也可以在這裡提出你不理解地方 對教師教學建議等等。在excel中畫如下 儲存好,複製到部落格隨筆。注意要累計所有 量。貼圖展示。填寫3次題目集的總得分。注意,請把pta 展示給批閱助教,並能完整回答助教問題,才能得滿分。否則根據回答情況給...
C語言部落格作業04 陣列
while 上限 下限 中間值 上限 下限 2 如果 中間值等於所查詢的數 找到資料,退出迴圈 如果 數 中間值 下限 中間值的前一位 否則 上限 中間值後一位 end while 輸入資料 for 遍歷陣列 如果 找到所插入數的位置 該位置往後資料右移一位,該位置賦值為插入的數 end for 輸...
C語言部落格作業04 陣列
輸入資料 輸出資料說明4 weizhi 3 資料正常 15not found 資料異常 輸入資料 輸出資料 說明 2 1資料正常 資料正常 1部分正確 測試點有並列極值元素,最後乙個是鞍點不通過,於是將if a i j a i maxindex 改為if a i j a i maxindex 即可通...