查詢取得最高成績的學生人數,大部分同學的思想是:先遍歷一遍全體同學生成績,比較得出最高成績的數值,再遍歷一次,統計取得最高成績的人數,但這種方法比較費時。 下面介紹一種思想:由于成績最低為0,最高為100,所以共有101種可能,我們先定義一個101個元素的數組,初始化為0,然后將每個成績作為下標,使相應數組元素加一,遍歷一遍即可得出各取得成績的人數,再從后向前遍歷數組,第一個不為0的元素下標即為最高成績。 輸入:請輸入學生個數:x 請輸入各位學生成績:xx xx xx xx xx 輸出:最高成績為xx,人數為x 示例:請輸入學生個數:5 請輸入各位學生成績:98 98 80 81 70 最高成績為98,人數為2 代碼:
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main (){ int n; int class[101] = { 0 }; PRintf ("請輸入學生個數:"); scanf ("%d", &n); printf ("請輸入各位學生成績:"); for (int i = 0; i < n; i++) { int x; scanf ("%d", &x); class[x]++; } int j = 100; while (class[j] == 0) { j--; } printf ("/n最高成績為%d,人數為%d", j, class[j]); system ("pause"); return 0;}歡迎關注微信公眾號:C語言二偉 
新聞熱點
疑難解答