hdu 2093 考試排名(sscanf)

2021-06-22 09:16:58 字數 932 閱讀 7825

模擬題。

直接從教程里拉解析。

因為**裡的資料格式不統一。有時候有"()",有時候又沒有。而它也不會給我們提示。

這種情況下,就只能它它們統一看作字串來處理了。現在就請出我們的主角sscanf()!

sscanf

語法:

#include int sscanf( const char *buffer, const char *format, ... );

函式sscanf()和scanf()類似, 只是輸入從buffer(緩衝區)中讀取.

比如:sscanf("1 2 3", "%d%d%d", &a, &b, &c);

則a = 1, b = 2, c = 3;

只要輸入**內容後,用格式化輸入"%d(%d)",然後判斷輸入結果,如果是2,表示帶有括號,如果是1,則沒有括號。

排序直接用快速排序就可以了。規則已經說的很清楚了。

**:

#include#include#includeusing namespace std;

const int maxn = 1000;

struct student

*/} stu[maxn];

/*int cmp(const void *va, const void *vb)

*/int cmp(const void *a, const void *b)

int main()

else if(res == 1 && t > 0)}}

qsort(stu, i, sizeof(student), cmp);

for(i--; i >= 0; i--)

printf("%-10s %2d %4d\n", stu[i].name, stu[i].total, stu[i].sum);

return 0;

}

HDU 2093 考試排名

problem description c 程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?我們做好了題目的解答,提交之後,要麼 ac 要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題 ac 後,就要與你算一算帳了,總共該...

hdu2093 考試排名

排序水題,但是我還是wa了好幾次,原因是name相同時的排名結果出現了問題,建議用strng處理name輸入 include using namespace std struct guy a 1000 bool cmp guy a,guy b else if a.score b.score else...

hdu 2093 考試排名

problem description c 程式設計考試使用的實時提交系統,具有即時獲得成績排名的特點。它的功能是怎麼實現的呢?我們做好了題目的解答,提交之後,要麼 ac 要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題 ac 後,就要與你算一算帳了,總共該...