题解 | #争夺前五名#
争夺前五名
https://www.nowcoder.com/practice/cd052308a1c44a88ad00255f312c3e14
#include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to int arr[100] = {0}; int i = 0; int max_index = 0; int tmp = 0; for (i = 0; i < n; i++) {//接收成绩 scanf("%d", &arr[i]); } for (int k = 0; k < 5; k++) { max_index = k; for (i = k+1; i < n; i++) { max_index = arr[max_index] > arr[i] ? max_index : i; //max_index为最大值的下标 } tmp = arr[k]; arr[k] = arr[max_index]; arr[max_index] = tmp; } for(i=0;i<5;i++) { printf("%d ",arr[i]); } return 0; } }