1150: 零起点学算法57——程序设计竞赛
1150: 零起点学算法57——程序设计竞赛
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 1303 Accepted: 742
[Submit][Status][Web Board]
Description
每年5月份,省里都要举行程序设计竞赛。
为了让最优秀的学生去参加比赛,我们一般需要做一个选拔工作。
现在你来帮老师完成这个任务哦。
Input
Output
对于每组测试数据,请在一行从高到低输出他们的成绩。
Sample Input
4 2 6 7 1
3 4 10 9
Sample Output
7 6 2 1
10 9 4
Source
1 #include<stdio.h> 2 int main(){ 3 int n,a[50]; 4 while(scanf("%d",&n)!=EOF){ 5 for(int i=0;i<n;i++){ 6 scanf("%d",&a[i]); 7 } 8 9 for(int i=0;i<n-1;i++){ 10 int k=i,t; 11 for(int j=i+1;j<n;j++) 12 if(a[k]<a[j]) 13 k=j; 14 if(k!=i){ 15 t=a[i]; 16 a[i]=a[k]; 17 a[k]=t; 18 } 19 } 20 for(int i=0;i<n-1;i++) 21 printf("%d ",a[i]); 22 printf("%d\n",a[n-1]); 23 } 24 return 0; 25 }
//选择排序法!!!
1 #include<stdio.h> 2 int main(){ 3 int n,a[50]; 4 while(scanf("%d",&n)!=EOF){ 5 for(int i=0;i<n;i++) 6 scanf("%d",&a[i]); 7 8 int t; 9 for(int i=1;i<n;i++){ 10 for(int j=0;j<n-i;j++){ 11 if(a[j]<a[j+1]){ 12 t=a[j]; 13 a[j]=a[j+1]; 14 a[j+1]=t; 15 } 16 } 17 } 18 19 for(int i=0;i<n-1;i++){ 20 printf("%d ",a[i]); 21 } 22 printf("%d\n",a[n-1]); 23 } 24 25 return 0; 26 }
// 冒泡排序法
#include<stdio.h> int main(){ int n,a[50]; while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;i++) scanf("%d",&a[i]); int t; for(int i=1;i<n;i++){ int flag=0; for(int j=0;j<n-i;j++){ if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; flag=1; } if(flag==0) break; } } for(int i=0;i<n-1;i++){ printf("%d ",a[i]); } printf("%d\n",a[n-1]); } return 0; }
//冒泡排序法 (改进后的)