题解 | #争夺前五名#
争夺前五名
https://www.nowcoder.com/practice/cd052308a1c44a88ad00255f312c3e14
#include <stdio.h> //qsort - 函数实现 // #include<stdlib.h> // int cmp_int(const void* e1, const void* e2) // { // return *(int*)e1 - *(int*)e2; // } // int main() // { // int n = 0; // int arr[40] = { 0 }; // scanf("%d", &n); // int i = 0; // for (i = 0; i < n; i++) // { // scanf("%d", &arr[i]); // } // //使用c语言库函数 - qsort 实现排序 // qsort(arr, n, 4, cmp_int); // for(i = n-1;i>=n-5;i--) // { // printf("%d ",arr[i]); // } // return 0; // } //冒泡排序实现 int main() { int n = 0; int arr[40] = {0}; scanf("%d",&n); int i = 0; for(i = 0;i<n;i++) { scanf("%d",&arr[i]); } //冒泡排序 //两两相邻比较,并且交换 for(i = 0;i <n-1;i++)//趟数 { int tmp = 0;//交换 //一趟冒泡排序要进行多少对元素的比较 int j = 0; for(j = 0;j<n-1-i;j++)//需要比几次 { if(arr[j]>arr[j+1])//判断元素是否需要交换 { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } for(i = n-1;i>=n-5;i--) { printf("%d ",arr[i]); } return 0; }