c 基礎練習

2021-07-25 03:22:45 字數 1171 閱讀 8137

問題 f: 土豪學長算成績

題目描述

給協會裡的同學排成績對於土豪學長來說總是乙個很麻煩的事情,因為土豪學長不會使用excel**,所以每次他都是手工排序的。現在協會的人數越來越多,手工排序變的不現實了,他希望你能夠幫他寫乙個程式給同學們拍名次。考試的科目有語文,數學,英語,物理,化學,生物。首先按照總分排序,總分一樣的按照語文分排序,語文分一樣的按照數學排序,以此類推,科目的優先順序:語文,數學,英語,物理,化學,生物,如果幾門課的分數都一樣,那麼按照學生的編號排序(序號小的排前面)

輸入 有多組輸入資料。 每組資料第一行乙個數字n,表示學生的個數。接下來n行,每行6個整數,分別對應上面的六門科目。學生按照輸入順序從1到n編號。當n為0的時候結束。六門科目分數的範圍從0到100(包含),0<=n<=10000

輸出 學生的id按照排名輸出,每組資料的輸出佔一行。從第一名到最後一名輸出。

樣例輸入

3 100 100 100 100 100 100

99 99 99 99 99 99

88 88 88 88 88 88

0 樣例輸出

1 2 3

思路:定義乙個結構體陣列,包含學號,各科成績用乙個整數型陣列,還有總分,先對總分比較,若總分相等再依次與各科成績比較,比較過程放在自定義的函式中,在主函式裡進行氣泡排序。

程式語言:c+

+

**如下 :

#include

using

namespace

std;

int s(int ,int ); //比較成績

struct student

;student stu[10000]; //定義的結構體陣列,盡量定大一點

int main() //執行錯誤很可能陣列取得太小

for(int i=1;iint k=i;

for(int j=i+1;j<=n;j++)

student team=stu[i];

stu[i]=stu[k];

stu[k]=team;

}for(int i=1;i<=n;i++)

cout

0; }

int s(int a,int b)

}}

C 基礎練習

first 玩家a和玩家b輸入自己的遊戲名稱 2th 第一輪玩家a開始投擲骰子,一次輪流進行 3th 如果玩家a和b的位置重疊了 a撞了b,那麼b退後6格 反之同理 4th 遊戲符號含義 圖例中的符號表示 幸運轉盤 地雷 暫停 時空隧道 1 幸運轉盤 玩家可以有兩個選擇 那麼選擇1 和對方交換位置,...

C 基礎練習

說巨集和函式的區別 巨集做的是簡單的字串替換 注意是字串的替換,不是其他型別引數的替換 而函式的引數的傳遞,引數是有資料型別的,可以是各種各樣的型別.巨集的引數替換是不經計算而直接處理的,而函式呼叫是將實參的值傳遞給形參,既然說是值,自然是計算得來的.巨集在編譯之前進行,即先用巨集體替換巨集名,然後...

c基礎練習 檔案練習

1.單字元讀寫 define crt secure no warnings include include includeint main01 char buf this is a test for pfutc for int i 0 i int strlen buf i fclose fp wri...