Re: [問題] 有關英文+數字的大小比較該怎麼寫比較好
看板C_and_CPP作者smallpig01 (http://0rz.tw/3BGhp)時間14年前 (2010/08/14 21:53)推噓4(4推 0噓 28→)留言32則, 6人參與討論串3/3 (看更多)
自問自答了...
分數排序的部分,應該找一下排序法就可以弄到~
再來就是排序分數一樣的情形,所以我只寫出排學號的方法
(反正是幫忙寫的XD)
==========================================================================
//一個字一個字抓 ASCII 碼出來比較大小
string ID[2]={"A00333322","A00333323"};
//不限定長度,但是每個長度都要一樣才可以用 strlen 取長度
int lenth = strlen(ID[0].c_str());
for(int i=0;i<lenth;i++)
{
//利用 (int) 將英文字母轉成 ASCII碼
cout << (int)ID[0][i] << " v.s " << (int)ID[1][i] << endl;
//比較,一有勝負馬上就要決定大小,並跳出迴圈
if((int)ID[0][i] < (int)ID[1][i])
{
cout << endl << "第一個較小" << endl;
break;
}
else if((int)ID[0][i] == (int)ID[1][i])
{
continue;
}
if((int)ID[0][i] > (int)ID[1][i])
{
cout << endl << "第二個較小" << endl;
break;
}
}
如果還有更好的方法,還可以提出來,上面那位大大寫的難度太高了看不懂...
不過還是謝謝了 :D
※ 引述《smallpig01 (http://0rz.tw/3BGhp)》之銘言:
: 遇到一個學號比較的問題
: ex有五個學生,要比較分數高低,然後依序印出,假設分數一樣則比較學號
: 學號 分數 學號 分數
: A005 30 B003 50
: B003 50 E006 50
: A002 30 結果==> D001 40
: D001 40 A002 30
: E006 50 A005 30
: 分數的排序我會,但是遇到有英文字卡在前面的學號就不知道該怎麼比較了
: EX A002 B003
: A005 E006
: 這兩組的分數一樣,排序結果為 第一組002在005前面 第二組B在E前面
: 我目前只想到可以把前面的英文拆成 ASCII 碼 補在前方
: EX A005 = 63005 然後 存成 long int 的型態再去比
: 我的學號是存成String型態,不知道怎麼只取第一個英文字...
: 還有其他更方便的方法可以比較這種類型的文字~
: 謝謝
--
Google smallpig01████████████████▕搜尋▏進階搜尋 | 使用偏好
▇▇  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄
搜尋: ○所有網頁 ○中文網頁⊙繁體中文網頁 ○台灣的網頁
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.161.183
→
08/14 21:55, , 1F
08/14 21:55, 1F
→
08/14 21:56, , 2F
08/14 21:56, 2F
→
08/14 21:56, , 3F
08/14 21:56, 3F
→
08/14 21:57, , 4F
08/14 21:57, 4F
→
08/14 21:58, , 5F
08/14 21:58, 5F
→
08/14 21:59, , 6F
08/14 21:59, 6F
→
08/14 21:59, , 7F
08/14 21:59, 7F
→
08/14 22:18, , 8F
08/14 22:18, 8F
→
08/14 22:19, , 9F
08/14 22:19, 9F
→
08/14 22:20, , 10F
08/14 22:20, 10F
→
08/14 22:20, , 11F
08/14 22:20, 11F
→
08/14 23:02, , 12F
08/14 23:02, 12F
→
08/14 23:06, , 13F
08/14 23:06, 13F
→
08/14 23:09, , 14F
08/14 23:09, 14F
→
08/14 23:14, , 15F
08/14 23:14, 15F
→
08/14 23:15, , 16F
08/14 23:15, 16F
→
08/14 23:15, , 17F
08/14 23:15, 17F
→
08/14 23:16, , 18F
08/14 23:16, 18F
→
08/14 23:17, , 19F
08/14 23:17, 19F
→
08/14 23:17, , 20F
08/14 23:17, 20F
推
08/14 23:26, , 21F
08/14 23:26, 21F
→
08/14 23:27, , 22F
08/14 23:27, 22F
→
08/14 23:28, , 23F
08/14 23:28, 23F
→
08/14 23:34, , 24F
08/14 23:34, 24F
推
08/14 23:38, , 25F
08/14 23:38, 25F
→
08/14 23:41, , 26F
08/14 23:41, 26F
→
08/14 23:44, , 27F
08/14 23:44, 27F
→
08/14 23:45, , 28F
08/14 23:45, 28F
→
08/14 23:46, , 29F
08/14 23:46, 29F
推
08/14 23:48, , 30F
08/14 23:48, 30F
推
08/14 23:51, , 31F
08/14 23:51, 31F
→
08/14 23:51, , 32F
08/14 23:51, 32F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):