日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1004 成绩排名 (20 分)(c语言实现)

發布時間:2024/4/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1004 成绩排名 (20 分)(c语言实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讀入?n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

輸入格式:

每個測試輸入包含 1 個測試用例,格式為

第 1 行:正整數 n 第 2 行:第 1 個學生的姓名 學號 成績 第 3 行:第 2 個學生的姓名 學號 成績... ... ... 第 n+1 行:第 n 個學生的姓名 學號 成績

其中姓名和學號均為不超過 10 個字符的字符串,成績為 0 到 100 之間的一個整數,這里保證在一組測試用例中沒有兩個學生的成績是相同的。

輸出格式:

對每個測試用例輸出 2 行,第 1 行是成績最高學生的姓名和學號,第 2 行是成績最低學生的姓名和學號,字符串間有 1 空格。

輸入樣例:

3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95

結尾無空行

輸出樣例:

Mike CS991301 Joe Math990112

結尾無空行

#include <stdio.h> #pragma warning(disable:4996) struct student {char name[15];char number[100];int chenji; }; typedef struct student Student; int sort[10000][101];//前一個用于存儲學生的名字對應的數碼,后一個用于存儲成績 Student students[10000]; int main() {int n;scanf("%d", &n);int cnt, cnt1;for ( cnt = 0; cnt < n; cnt++) {//錄入成績scanf("%s %s %d", &(students[cnt].name), &(students[cnt].number), &(students[cnt].chenji));//printf("*********\n");}//printf("***********");for ( cnt = 0; cnt < n; cnt++) {sort[cnt][students[cnt].chenji]=1;//以第一個[]作為學生的對應值,第二個[]作為相應學生的分數值//printf("*********\n");}/*/for (cnt1 = 0; cnt1 <= 100; cnt1++){for (cnt = 0; cnt < n; cnt++){printf("sort[%d][%d]=%d ", cnt, cnt1, sort[cnt][cnt1]);printf("%s %s", students[cnt].name, students[cnt].number);}printf("\n");}*///printf("***********");for ( cnt = 100; cnt >=0 ; cnt--){for ( cnt1 = 0; cnt1 < n; cnt1++){if (sort[cnt1][cnt]==1){printf("%s %s", students[cnt1].name, students[cnt1].number);break;}}//printf("***********\n");if (sort[cnt1][cnt] == 1){printf("\n");//printf("%s %s", students[cnt1].name, students[cnt1].number);break;}}for ( cnt = 0; cnt<=100; cnt++){for ( cnt1 = 0; cnt1 < n; cnt1++){if (sort[cnt1][cnt] == 1){printf("%s %s", students[cnt1].name, students[cnt1].number);break;}}if (sort[cnt1][cnt] == 1){//printf("%s %s", students[cnt1].name, students[cnt1].number);break;}}return 0; } /*4 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 jaj jakldjalk 80*/

上述代碼有點亂,很多都是我當時調試代碼的思路,就不改了,應該有同學和我一樣用的dev或者vs沒用熟的.

然后我的排列方式是桶排列,時間復雜度是n級別的,應該沒有錯

總結

以上是生活随笔為你收集整理的1004 成绩排名 (20 分)(c语言实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。