因為想法比較雜亂無章,所以寫個部落格記錄一下練習中的一些想法與問題。
第一周的練習記錄:
7-1:
正整數a+b
題的目標很簡單,就是求兩個正整數a
和b
的和,其中a
和b
都在區間[1,1000]。稍微有點麻煩的是,輸入並不保證是兩個正整數。
輸入在一行給出a
和b
,其間以空格分開。問題是a
和b
不一定是滿足要求的正整數,有時候可能是超出範圍的數字、負數、帶小數點的實數、甚至是一堆亂碼。
注意:我們把輸入中出現的第1個空格認為是a
和b
的分隔。題目保證至少存在乙個空格,並且b
不是乙個空字串。
如果輸入的確是兩個正整數,則按格式a + b = 和
輸出。如果某個輸入不合要求,則在相應位置輸出?
,顯然此時和也是?
。
123 456
123 + 456 = 579
22. 18
? + 18 = ?
-100 blabla bla...33
? + ? = ?
這個題目的坑太多了!
一不小心就錯了,所以來列一下自己忘記注意的幾個坑:(按照輸入格式裡寫的順序
1.a,b的數值範圍
2.a 為空字串
然後記錄下這個題目用的一些語句:
1.數字字元轉整型:『4『- '0'
所以數字字串轉整型可以寫為: sum = 0;
for(int i=0;isum = sum * 10 + (x[i] - '0');
2.標頭檔案string.h中的一些函式:isdigit(char x);strlen(char x[ ]);
7-3: 出租
一時間網上一片求救聲,急問這個怎麼破。其實這段**很簡單,index
陣列就是arr
陣列的下標,index[0]=2
對應arr[2]=1
,index[1]=0
對應arr[0]=8
,index[2]=3
對應arr[3]=0
,以此類推…… 很容易得到**號碼是18013820100
。
本題要求你編寫乙個程式,為任何乙個**號碼生成這段** —— 事實上,只要生成最前面兩行就可以了,後面內容是不變的。
輸入在一行中給出乙個由11位數字組成的手機號碼。
為輸入的號碼生成**的前兩行,其中arr
中的數字必須按遞減順序給出。
18013820100
int arr = new int;
int index = new int;
這一題,第一次寫的時候想複雜了,那時候還沒接觸雜湊法,也沒想到直接用下標對應的方式(自己太笨了
小問題:
1. 用int定義了陣列來存手機號後,又用gets去讀,導致後來用陣列儲存的值作下標去操作時,程式跑不出來(被自己坑到
2.記錄的時候腦子特別混,老是弄錯什麼用作標誌位,什麼時候記下下標(腦子亂的時候,要寫下備註提醒自己
3. 輸出可以剛開始輸出乙個然後,後面的帶,輸出
想法:用下標對應的辦法,設定乙個10位int型陣列並設定其每個值都為0,arr[0]對應數字0,arr[1]對應數字1…即arr[手機數字]
在輸出arr前將手機號數字對應arr[手機數字]位置置1;倒著迴圈判斷輸出,後將該位置置相應的順序數字;然後迴圈輸出
用到的語句:
arr[ phone [i] - '0' ] = 1;
7-4:
判斷素數(10 分)
本題的目標很簡單,就是判斷乙個給定的正整數是否素數。
輸入在第一行給出乙個正整數n
(
≤ 10),隨後n
行,每行給出乙個小於2
31
的需要判斷的正整數。
對每個需要判斷的正整數,如果它是素數,則在一行中輸出yes
,否則輸出no
。
2
11111
yes
no
對每個需要判斷的正整數,如果它是素數,則在一行中輸出yes
,否則輸出no
。
剛開始是1不是素數的問題,後來改過之後還是不對,最後才發現是標誌位的位置沒有放對,導致題目一直沒通過。(馬虎!!!
7-6 :
一幫一「一幫一學習小組」是中小學中常見的學習組織方式,老師把學習成績靠前的學生跟學習成績靠後的學生排在一組。本題就請你編寫程式幫助老師自動完成這個分配工作,即在得到全班學生的排名後,在當前尚未分組的學生中,將名次最靠前的學生與名次最靠後的異性學生分為一組。
輸入第一行給出正偶數n
(
≤50),即全班學生的人數。此後n
行,按照名次從高到低的順序給出每個學生的性別(0代表女生,1代表男生)和姓名(不超過8個英文本母的非空字串),其間以1個空格分隔。這裡保證本班男女比例是1:1,並且沒有並列名次。
每行輸出一組兩個學生的姓名,其間以1個空格分隔。名次高的學生在前,名次低的學生在後。小組的輸出順序按照前面學生的名次從高到低排列。
8
0 amy
1 tom
1 bill
0 cindy
0 maya
1 john
1 jack
0 linda
amy jack
tom linda
bill maya
cindy john
解決輸入儲存和輸出的問題即可
7-5:
是不是太胖了 7-7 :
到底是不是太胖了
兩個題目之間有所聯絡,7-5計算,7-7根據計算結果輸出相應的語句。需要注意的是要避開浮點數以及邊界值的問題。
7-8 :
left-pad輸入在第一行給出乙個正整數n
(≤1
04
)和乙個字元,分別是填充結果字串的長度和用於填充的字元,中間以1個空格分開。第二行給出原始的非空字串,以回車結束。
在一行中輸出結果字串。
15 _
i love gplt
____i love gplt
4 *
this is a sample for cut
cut
注意字串長度問題即可 第一周部落格記錄
這是第一周的學習記錄,由於最近的計算機設計大賽,沒有進行系統的學習,所以只是規整一下自己以往的知識點還有一些學習想法吧。第一次接觸html,是在學長的帶領下,但剛開始的時候只是覺得好看而已,後來進一步的學習,是由於閨蜜過生日,想送給她乙個意義非凡的禮物。那時起,才想起來自己曾經學過一段時間的html...
python第一周心得 Python第一周總結
變數 不能為系統自帶的內建函式,如def,help,sum等等 變數不能已下劃線數字來開頭,對大小寫敏感 變數後直接接數字,則被賦值為整型,如何加引號則賦值型別為字串str型別 a 1 整型 int b 2 字串 str 用print 直接輸出 a hello print a 在 使用者想要同時輸出...
第一周周記
下面是整個文章的第二部分,日常的安利 這周的話,除了整體恢復正常,週末我也購置了我的第一塊外接鍵盤,這裡的話我選擇的是國產的靜電容鍵盤niz的plum 87鍵鍵盤。今天拿到這個鍵盤第一天,整體使用了一下,尺寸配合著15寸的蘋果macbook pro可以說恰到好處,除此以外,整個鍵盤還是給我不少驚喜的...