標籤:etc 使用 注釋 分享 1.3 blog 結果 3.2 字元數組
一、PTA實驗作業(4分)題目1: 將數組中的數逆序存放1. 本題PTA提交列表(要提交列表,不是結果)
2. 設計思路(用代碼錶示扣分)
定義n用於存放輸入的數字個數,number[999]用來存放輸入數字,t,i用於討論;
輸入n
for(i=0;i<=n-1;i++){
輸入number[i];
}
如果n%2==0{
定義k
for (k=0;k<=(n/2)-1;k++){
t=number[k];
number[k]=number[n-1-k];
number[n-1-k]=t;
}
定義k
for(k=0;k<=n-1;k++){
輸出number[k];
if(k!=n-1){
輸出空格
}
}
}
否則(也就是n%2不為0) {
for(k=0;k<=n/2;k++){
t=number[k];
number[k]=number[n-1-k];
number[n-1-k]=t;
}
for(int k=0;k<=n-1;k++){
輸出number[k]
if(k!=n-1){
輸出空格
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)
4.本題調試過程碰到問題及PTA提交列表情況說明。
1.需要再定義一個變數t用於暫存前一個number的值,否則後一個number與前一個交換後還是原來的值
2.在這裡如果是奇數則中間數難以表達,於是我將奇偶分開討論
題目2:簡化的插入排序1. 本題PTA提交列表(要提交列表,不是結果)
2. 設計思路(用代碼錶示扣分)
定義 number[10]用於存放數組十個數;定義n用於存放輸入數位個數,a;輸入n;當n不為0{for(int i=0;i<n;i++){ 輸入number[i]}輸入aif(a<number[0]){ 輸出a的值 }for(int i=0;i<n;i++){ 輸出number[i] if(a>number[i]&&a<number[i+1]) 輸出a}if(a>number[n-1]){ 輸出a; }} else { 輸入a的值; 輸出a的值; }
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)
4.本題調試過程碰到問題及PTA提交列表情況說明。
1.題目要求每個數字後邊要有空格,當時漏了
2.有負數要插在頭,當時錯
題目3:點贊1. 本題PTA提交列表(要提交列表,不是結果)
2. 設計思路(用代碼錶示扣分)
輸入n定義數組a[n][10] for(i=0;i<n;i++) 輸入k for(j=0;j<k;j++) 輸入a[i][j];遍曆a數組 t=a[i][j] b[t]++ 定義max=b[0];m=0;for(i=1;i<1001;i++){ if(b[i]>=max){ max=b[i]; m=i; }}輸出m和max的值;
;###3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)
4.本題調試過程碰到問題及PTA提交列表情況說明。
1.全不同, 取到編號邊界值,當時多次輸出
有並列, 取編號最大者,後設計一個max變數解決
二、本周題目集的PTA最後排名。(2分)PTA排名三、同學代碼結對互評(1分)1.互評同學名稱 吳軍霖2.My Code、互評同學代碼我的:
大佬的:
3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。My Code:當時沒注意到數組的特殊性,就直接用代入法寫,有點是方便,但是太耍小聰明(當時沒看出來題目要幹啥)他的代碼:傳統做法,並且排序更加整齊完美,牌面看起來也更舒服你更喜歡哪種代碼風格? 按牌面講,他的更好看,思路也更清晰,但是考試的時候建議還是用我的寫節約時間
注意:第3項是評分重點,一定要有針對性說出問題,別都說好話,請專業去說他代碼有哪些優勢、哪些劣勢。
四、本周學習總結(3分)1.你學會了什嗎?1.1 C中如何儲存字串?
在c語言中儲存一個字串,一般有兩種方法,一種是字元指標,一種是使用字元數組.
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
‘\0‘是字串數組的結束標誌,因為有利於知道字串的sizeof
1.3 字串輸入有哪幾種方法?
1.scanf(“%s”,&ch)
2.for(i=0;i<n;i++)
scanf("%c",ch[i])
3.i=0;
while((ch[i]=getchar())!=‘\0‘){i++}
1.4 數字字元怎麼轉整數,寫個虛擬碼?
用字元的值減去‘0‘;
定義字元數組char c;
定義整型變數int n;
c = getchar();
n = c-48;/48是0的ascii碼值/
輸出n
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?
定義字串b【999】,輸入b
當a不為0
number=number*16+b[i]-‘0‘;
2.本周的內容,你還不會什嗎?
1.還不會關於字元數組怎麼從中間插入 刪掉字元(PTA題)
2.約瑟夫環不熟練(PTA猴子當大王)
3.期中考試小結3.1 你認為為什麼沒考好?
1.基礎不紮實,送分沒拿到
2.大題代碼寫太亂,明明思路全是對的,但閱卷人看到有太低級的錯誤以及沒注釋的卷面就沒心情網細看了
3.2 羅列錯題。
請在選擇題、填空題、改錯題、編程題分別舉一題說明為什麼錯了,怎麼改?
1.選擇題:
6.設變數已經正確定義並賦值,正確C語言語句是
A、x+n=i; B、x=y==5; C、x=n%2 D、x=5=4+1;
答案為B 錯選C 原因:沒看到C後沒分號,感覺對了就選了
2.填空題
無
3.改錯題
第一題只看到語法錯誤,沒注意到是否符合程式要求,對於函數的基礎略差
4.編程題
計算群組合數定義組合數計算時用了int,應改成double
3.3 下半學期要怎麼調整C的學習?
不單純的打pta 還要對書本知識有針對性的複習
C語言作業