標籤:記錄 錯誤 scan http 一段 溢出 完成 變數賦值 記憶體
一、PTA實驗作業題目1:7-1 將數組中的數逆序存放1. 本題PTA提交列表
2. 設計思路
定義數組數n,迴圈變數i,j輸入 n定義數組Num[n]for j=n-1 to j>=0共n次如果j等於0則輸出Num[j]否則在輸出Num[j]後還要輸出空格
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。- 由於是第一題所以沒有所遇到問題如下
- 格式錯誤:在最後一個數字後多了空格
- 解決方案:增加一個判斷,當判斷出是最後一個數時直接輸出
題目1:7-3 出生年1. 本題PTA提交列表
2. 設計思路
定義初始年份Year,不同的數字數量D, 用於儲存Year的Y,Y2,求和Sum=0,迴圈變數i,j,k,g定義數組d[4]={0}用於儲存年份的各個位元,Com[10]={0,1,2,3,4,5,6,7,8,9}用於與d[4]中的數比較,Count[10]={0}用於儲存Com[10]與d[4]比較的結果輸入 Year,D;Y=Year;Y2=Year; while(1){ for i=0 to i<4共4次 對Year取餘,減少十倍 對d[i]從0到4分別賦予年份Year的個位元,十位元,百位元,千位元 for j=0 to j<4共4次 for g=0 to j<4 共4次 如果d[j]==Com[g] Count[g]++; for k=0 to k<10共 10次 如果Count[k]!=0 令Count[k]=0方便下一輪迴圈 Sum++;統計年份中不同數位數量如果 Sum==D,符合題目所要求的不同數位數量 輸出("%d %04d",Y2-Y,Y2);//其中%04d位寬為4,不夠往左補0 break;結束迴圈Y2+=1;年份加一Year=Y2;Sum=0;//不同數字量初始化 方便下一次迴圈}
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
這道題想了很久沒有思路,後來聽了同學的口頭思路自己打了代碼,在Dev上成功後就提交成功了
題目1:7-4 簡化的插入排序1. 本題PTA提交列表
uploading-image-977788.png
2. 設計思路
定義非負整數n,插入的數m,中轉變數t,迴圈變數i輸入n定義數組a[10]for i=0 to i<n共n次 數組賦值輸入ma[n]=m令最後一個數組等於mfor i=0 to i<n共n次 如果a[n]<=a[i] 交換a[n]與a[i]的值for i=0 to i<n共n次 輸出a[i]
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。由於忘記了,所以沒有調劑過程,具體問題如下
- 問題:”在遇到比要求的數大的數後我進行了交換,但導致了原數組中用於交換的數的缺失,即在數組輸出時沒有該數
- 解決方案:代碼,在迴圈進行到比要求大的數之後,接下來數組中的數分別向後移動了一位
具體操作如下:
二、本周題目集的PTA最後排名。(2分)
三、同學代碼結對互評(1分)1.互評同學名稱:王宵瑩2.My Code、互評同學代碼
3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。
- 不同之處:我與王的思路大體相同,但是我比王宵瑩多了一行判斷它只有一位元的情況代碼
- 我更喜歡王宵瑩的,因為我覺得她的代碼更加簡潔
四、本周學習總結(3分)1.你學會了什嗎?1.1 C中如何儲存字串?
char name[] = "qinrui";
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
- 字串的結束標誌是‘\0‘
- 字串是藉助於字元型一維數組來存放的,‘\0‘ASCLL代碼值為0,它作為標誌佔用儲存空間但不記入串的實際長度,所以用來作為字串的結束標誌。有了‘\0‘標誌後,就不必再用字元數組的長度來判斷字串的長度了,
如果沒有的話會數組越界,記憶體溢出。程式崩潰。
1.3 字串輸入有哪幾種方法?
(1)gets(a) (2)scanf ("%s", a)是讀到空格停止。
1.4 數字字元怎麼轉整數,寫個虛擬碼?
char aint bb=int(a)
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?
定義 十六進位數s,十進位sum,儲存s數n,s的位元num輸入 sn=swhile(s!=0) s/=10; num++; 計算s的位元定義數組a[num]將s的各個位元分別賦值入a[num]for i=0 to i<num共num次sum+=a[i]乘以16的i次方則sum就是16進位轉換得到的10進位二進位的轉換如上,就是將16的i次方改為2的i次方
2.本周的內容,你還不會什嗎?
- (1).對於二維數組的輸入變數賦值
(2)
3.期中考試小結
3.1 你認為為什麼沒考好?
- (1)一些基礎知識沒有掌握,比如靜態變數和全域變數,以及資料運算中各種符號的演算法
- (2)讀代碼的能力有待提高,在第二題剖析器上得分甚少
- (3)粗心,有些題目在自己能力範圍內因為分析錯誤,看錯變數失分
3.2 羅列錯題。
3.3 下半學期要怎麼調整C的學習?
- 對於作業的安排計劃還不夠合理,現在的作業大部分還是等到周五晚和周末兩天完成,預習作業,部落格園與pta,搞得時間短任務重,學習效率不高
所以計劃至少在周三前完成pta的一半,並寫一道到pta中,在編程時遇到什麼困難直接記錄到部落格園中
還未完成
C語言部落格作業--一二維數組