题解 | #争夺前五名#
争夺前五名
https://www.nowcoder.com/practice/cd052308a1c44a88ad00255f312c3e14
纠正一下,这是降序排布。
#include <stdio.h> int main() { int n; scanf("%d",&n); int score[n]; int i; int mark = 0; //数组赋值 for(i = 0;i < n;i++) { scanf("%d",&mark); score[i] = mark; } //降序排布 for(i = 1;i < n;i++) { int temp = 0; //中转变量 int j; for(j = 0;j < i;j++) //score[1]比较score[0],向前比较 i 次 { if(score[i] >= score[j]) //利用中转变量,当后者大于前者交换 { temp = score[j]; score[j] = score[i]; score[i] = temp; } } } //打印前五 for(i = 0;i < 5;i++) { printf("%d ",score[i]); } return 0; }