C语言

郑州轻工业大学oj题解(c语言)1935: 军训排队 自制排序函

2020-01-18  本文已影响0人  缘点点

有一说一,假期还想日更是真的难~ 每天都有事要忙,而且就算没事干,也基本不想写东西,但也还是要逼着自己写啊,不然之前的努力就白费了!

今天翻了一下比较后面做过的题目,发现后面有一道应该比较简单的题目,我却用了两个函数来写,然后看了下时间,判断应该是自己最初拿来练排序函数的题,今天就分享一下吧


1935:军训排队

#include<bits/stdc++.h>
using namespace std;
 
void sort(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
}
}
void add(int a[],int n)
{
    int i;
    for(i=0;i<n;i++){
        printf("%d ",a[i]);
    }
}
  
int main()
{
    int a[1001],n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    sort(a,n);
    add(a,n);
    return 0;
}
  1. 这道题里由于比较大小的数量我们是不确定的,所以这里只能在数组中完成比较,相应的输出也只能用数组输出。
  2. sort比较的过程可以理解为,每次循环输入一个数组的数,然后与之前的上一个数组的数进行比较,然后如果比其小,便替换这个数,并让原来的数递进一位。如果觉得不好理解的也可以在纸上列出简单的几个数组进行上述比较。
  3. 题目的输入范围是1000个数,避免越界,我们直接定义一个大小为1001的数组。
上一篇 下一篇

猜你喜欢

热点阅读