精華區beta NTUE-CS101 關於我們 聯絡資訊
嗯 我昨天離開去上晚上的課 所以老師還沒跟我說 剛剛上ican 繳交時間是 3/11星期三 -- 先簡單複習一下昨天的字串輸入 C++裡面有兩種字串:char陣列 & string(也許之後會交也許不會) char陣列 對 cin/cout 就跟基本型態一樣 可以直接丟給他 意思是說 int a; cin>>a; // 把 輸入的數字 存到 a char b; cin>>b; // 把 輸入的文字 存到 b , 只存一個字 // 超過的會存到下一次呼叫cin的變數裡 char c[20]; cin>>c; // 把 輸入的文字 存到 c , 存你輸入的整個字串 // 超過空間的會存到別人家去 注意看喔 cin>>c; 沒有 [] 因為 C++ 把 "char陣列" 當作 "一個字串" 反而加上[]的話 他會變成 b 的情況 只能存一個字 例如 cin>>c[0]; 雖然 c[0] c[1] 這樣的東西只能存一個字 看起來很廢 但是他還是會用到的 例如說字串排序的時候 要一個字一個字拿出來比較 這時候他就會用到了 ex: c字串裡面 第1個字是 c[0]; 第2個字是 c[1] ... 以此類推 不知道老師有沒有要求要用昨天交的動態記憶體配置 ( new / delete ) 如果沒有的話 就開100個空間給他吧 這樣比較簡單 ( 你也可以試試看用動態的 ) 假設你要存10個人的分數 float d[10]; for(int i=0;i<10;i++){ cin>>d[i]; } 這個是上學期的 那現在改成要存10個人的名子 先假設她們都是"字串" 字串 e[10]; for(int i=0;i<10;i++){ cin>>e[i]; } 然後"字串"就是 char 陣列 所以正確的寫法是 char e[10][20]; // 第一個維度是 幾個人 ; 第二個維度是 每個人有幾的空間 for(int i=0;i<10;i++){ cin>>e[i]; } 基本知識講到這 你們先自己寫寫看 有問題再問我吧 給你們一點提示~ 現在的作業是 "字串排序" 所以 還記得排序怎麼寫嗎 有兩個迴圈 然後比較、交換 ( 回去翻書 or 找以前的程式碼 ) 字串排序也是有這兩個部份 只是比較跟交換的部份 會比之前的麻煩一些 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.15.209
rockmyangel:我的頭頭有點痛了 哭 03/05 21:29
rockmyangel:我來試試 03/05 21:30
jerry771210:哪個頭頭?? 03/05 21:43