程式設計實訓第一次作業 第二題 陣列與排序A

2021-08-20 14:36:07 字數 2447 閱讀 2664

【問題描述】

從標準輸入連續讀入n(n<10)個學生的學號(不超過int型別表示範圍)、姓名(由不超過10個英文本母組成)以及數學、英語、語文三門課的成績,計算個人的平均成績,並且按個人的總成績由高到低排序(如果總成績相同,按學號由低到高排序,但前面的排序序號不變,即兩人排名相同),將排名結果在螢幕上顯示出來(要求同一列右對齊,其中排名佔4個字元、學號佔10個字元,姓名佔10個字元,數學、英語、語文各佔5個字元)。如輸入的學生人數n大於等於10,則列印輸出「please input 1-9.「, 然後,退出程式。

【輸入形式】

從控制台輸入乙個小於10的正整數,表示學生人數;然後分行輸入學號、姓名以及數學、英語、語文三門課的成績,中間用空格分隔。

【輸出形式】

1、控制台輸出排序結果,要求輸出:排名結果、學號、姓名、數學成績、英語成績、語文成績。

2、要求同一列右對齊,其中排名佔4個字元、學號佔10個字元,姓名佔10個字元,數學、英語、語文各佔5個字元。

3、如兩人成績相同,總成績相同,按學號由低到高排序輸出,但前面的排序序號不變,即兩人排名相同。

【樣例輸入1】

8 39060415 zf 98 88 85

39060427 lzw 87 92 88

39060413 wr 95 86 90

39060412 wp 95 85 91

39060405 syj 78 82 69

39060425 yef 85 78 93

39060419 sw 75 89 88

39060421 rr 89 88 75

【樣例輸出1】

1 39060412 wp 95 85 91

1 39060413 wr 95 86 90

1 39060415 zf 98 88 85

4 39060427 lzw 87 92 88

5 39060425 yef 85 78 93

6 39060419 sw 75 89 88

6 39060421 rr 89 88 75

8 39060405 syj 78 82 69

【樣例輸入2】

10 【樣例輸出2】

please input 1-9.

【樣例說明】

相同分數,相同排名的原則。在樣例1中:「1 39060412 wp 95 85 91」、「1 39060413 wr 95 86 90」、「1 39060415 zf 98 88 85」總分相同,因此排名相同;同時,由於有三個第1名,因此要跳開2和3,因此,下一位同學的排名從4開始計算,為「4 39060427 lzw 87 92 88」。其中「6 39060419 sw 75 89 88」和「6 39060421 rr 89 88 75」也是一樣的道理。

本題評分分為兩個部分,完成第一層按成績由高到低排序,並且給出正確的輸入輸出,得60%;完成第一層按成績排序,且在相同總分的情況下,能夠正確的按照學號由低到高排序,並且給出正確的輸入輸出,得100%。

【評分標準】

該題要求輸出上述排序結果,共5個測試點。完成第一層按成績排序,並且給出正確的輸入輸出,得60%;完成第一層按成績排序,且在相同總分的情況下,能夠正確的按照學號由低到高排序,並且給出正確的輸入輸出,得100%。上傳c語言檔名為sorta.c。

程式設計實訓第一次作業 刪除子串

問題描述 編寫乙個程式,當在乙個字串中出現子串時就刪除它。輸入形式 使用者在第一行輸入乙個字串,使用者在第二行輸入乙個子串。注意 第二行輸入結束時可能用回車,也可能不用回車。輸出形式 程式在下一行輸出刪除其中所有子串後的字串。如果字串不包含子串則輸出原字串本身。樣例輸入 i am a boy a 樣...

程式設計實訓第一次作業 合併字串

問題描述 編寫乙個函式char str bin char str1,char str2 str1 str2是兩個有序字串 其中字元按ascii碼從小到大排序 將str2合併到字串str1中,要求合併後的字串仍是有序的,允許字元重複。在main函式中測試該函式 從鍵盤輸入兩個有序字串,然後呼叫該函式,...

程式設計實訓第一次作業 字串刪除

問題描述 編寫程式將一行英文中指定的字串刪除後輸出。注意 查詢指定字串時,大小寫無關,而且有可能多次出現。輸入形式 先從標準輸入中輸入一指定字串 其長度不超過20,該字串中不會出現空格 然後在下一行輸入一行英文 長度不超過200 行末有回車換行。輸出形式 將輸入的英文刪除指定字串後輸出到標準輸出上,...