BC120. 争夺前五名
描述
输入描述
两行,第一行输入一个整数,表示n个学生(>=5),第二行输入n个学生成绩(整数表示,范围0~100),用空格分隔。输出描述
一行,输出成绩最高的前五个,用空格分隔。示例1
输入:
6 99 45 78 67 72 88
输出:
99 88 78 72 67
示例2
输入:
5 10 20 30 40 50
输出:
50 40 30 20 10
C 解法, 执行用时: 1ms, 内存消耗: 272KB, 提交时间: 2020-10-16
#include <stdio.h> int main(){ int n,a[40]; int i,j,temp; scanf("%d\n",&n); for (i = 0;i < n;i++){ scanf("%d ",&a[i]); } for (i = 0;i < n;i++){ for (j = i;j < n;j++){ if (a[i] < a[j]){ temp = a[i]; a[i] = a[j]; a[j] = temp; } } } for (i = 0;i < 5;i++) printf("%d ",a[i]); }
C 解法, 执行用时: 1ms, 内存消耗: 276KB, 提交时间: 2020-12-23
# include <stdio.h> int main () { int n, num, i, temp; int score[30] = {0}; scanf("%d\n", &n); for(num=0; num<n; num++) { scanf("%d ", &score[num]); } for(num=0; num<n; num++) { for(i=0; i<n-1-num; i++) { if(score[i]<score[i+1]) { temp = score[i+1]; score[i+1] = score[i]; score[i] = temp; } } } for(num=0; num<5; num++) { printf("%d ", score[num]); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 292KB, 提交时间: 2021-01-01
#include <stdio.h> int main(){ int score[40]={0}; int n=0; int i=0,j=0,r=0,t=0; scanf("%d\n",&n); for(i=0;i<n;i++){ scanf("%d",&score[i]); } for(i=0;i<5;i++){ for(j=0;j<n-i-1;j++){ r=score[j]; if(r>score[j+1]){ t=score[j+1]; score[j+1]=r; score[j]=t; } } } for(i=0;i<5;i++){ printf("%d",score[n-i-1]); if(i<4){ printf(" "); }else{ printf("\n"); } } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 300KB, 提交时间: 2021-09-14
#include<stdio.h> int main(){ int stu[50]; int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&stu[i]); for(int i=0;i<5;i++){ int max=0; for(int j=1;j<n;j++){ if(stu[max]<stu[j]) max=j; } printf("%d ",stu[max]); stu[max]=0; } }
C 解法, 执行用时: 1ms, 内存消耗: 300KB, 提交时间: 2021-01-01
// #include<stdio.h> // int main(){ // int n,a[40]; // int i,j,temp; // scanf("%d\n",&n); // for(i = 0;i<n;i++){ // scanf("%d ",&a[i]); // } // for(i=0;i<n;i++){ // for(j = i;i<n;j++){ // if(a[i]<a[j]){ // temp = a[i]; // a[i] = a[j]; // a[j] = temp; // } // } // } // for(i = 0;i<5;i++) // printf("%d ",a[i]); // return 0; // } #include <stdio.h> int main(){ int n,a[40]; int i,j,temp; scanf("%d\n",&n); for (i = 0;i < n;i++){ scanf("%d ",&a[i]); } for (i = 0;i < n;i++){ for (j = i;j < n;j++){ if (a[i] < a[j]){ temp = a[i]; a[i] = a[j]; a[j] = temp; } } } for (i = 0;i < 5;i++) printf("%d ",a[i]); }