蓝桥杯: 基础练习 数列排序

来源:互联网 发布:spss数据分析 编辑:程序博客网 时间:2024/05/16 07:20
蓝桥杯: 基础练习 数列排序 
问题描述
  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
  第一行为一个整数n。
  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
  输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9

程序:
1.冒泡排序法
#include<stdio.h>#define N 210int main(){   int n,i,j;//n<=200    int output[N]={0};   int temp;   scanf("%d",&n);   //输入数组    for(i=0;i<n;i++)    scanf("%d",&output[i]);    //排序  for(i=0;i<n;i++)for(j=i+1;j<n;j++){if(output[i]>output[j]){temp=output[j];output[j]=output[i];output[i]=temp;}}for(i=0;i<n;i++)printf("%d ",output[i]);return 0;} 

(2)选择排序法
#include<stdio.h>#define N 210int main(){int n,i,j;//n<=200    int output[N]={0};   int min;   scanf("%d",&n);   //输入数组    for(i=0;i<n;i++)    scanf("%d",&output[i]);    for(i=0;i<n;i++)    {    min=output[i];    for(j=i+1;j<n;j++)    {    if(output[j]<min)       {       min=output[j];       output[j]=output[i];       output[i]=min;       }    }    }    for(i=0;i<n;i++)printf("%d ",output[i]);return 0;} 




0 0
原创粉丝点击