C C 成績排序

2021-10-20 21:47:57 字數 2083 閱讀 3769

題目描述

查詢和排序

題目:

輸入任意(使用者,成績)序列,可以獲得成績從高到低或從低到高的排列,相同成績都按先錄入排列在前的規則處理。

例示:

jack 70

peter 96

tom 70

smith 67

從高到低 成績

peter 96

jack 70

tom 70

smith 67

從低到高

smith 67

jack 70

tom 70

peter 96

注:0代表從高到低,1代表從低到高

本題含有多組輸入資料!

輸入描述:

輸入多行,先輸入要排序的人的個數,然後分別輸入他們的名字和成績,以乙個空格隔開

輸出描述:

按照指定方式輸出名字和成績,名字和成績之間以乙個空格隔開

示例1

輸入

3

0fang 90

yang 50

ning 70

輸出

fang 90

ning 70

yang 50

c++解法

#include #include #include #include #include #include using namespace std;

#define name_length 50

struct studentscore ;

void swap(struct studentscore**array, int first, int second)

int comparescore(struct studentscore *first, struct studentscore *second)

void selectionsort(struct studentscore** array, int size, int order)

}else }}

if (swapindex != i)

}}struct studentscore * getstudentscore(string input) ;

char bufferindex = 0;

int valueindex = 0;

struct studentscore *ss = new struct studentscore();

for (int i = 0; i <= size; i++) else

if (single == ' ') else

valueindex++;

bufferindex = 0;

memset(buffer, 0, name_length);

} else

} return ss;

}void printscores(struct studentscore **scores, int size)

}int main()

int size = atoi(params.at(0).c_str());

int order = atoi(params.at(1).c_str());

struct studentscore **scores = new struct studentscore*[size];

for (int i = 0; i < size; i++)

selectionsort(scores, size, order);

printscores(scores, size);

for (int i = 0; i < size; i++)

delete scores;

}

Problem E 成績排序

time limit 1 sec memory limit 128 mb submit 779 solved 635 submit status web board 定義student類 1.資料成員string name和int score表示乙個學生的姓名 成績。2.無參建構函式。3.void ...

Problem B 成績排序

home web board problemset standing status statistics time limit 1 sec memory limit 128 mb submit 1579 solved 1259 submit status web board 定義student類 1...

演算法 成績排序

統計一下班裡 n n 名同學在這次數學競賽中,成績在以下各類別的人數。要求 分數為整數,用變數 f f 表示,以百分制作為記分標準。成績在 90 leq f leq 10090 f 1 00 分數之間,用 you 來標識 成績在 80 leq f leq 8980 f 8 9 分數之間,用 lian...