knightjsh
2020-07-09 10:47
采纳率: 94.1%
浏览 285

C语言编程题目——实现排序

详细代码

编写函数 void sort(int *p,int n),功能:对 p 开始的 n 个数从大到小排
序。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Lovely_Creeper 2020-07-09 18:49
    已采纳

    挑战最短代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int st[100],number;
        cin>>number;
        for(int i=0;i<=number;i++)
            cin>>st[i];
        sort(st,st+number);
        for(int i=0;i<=number;i++)
            cout<<st[i];
    }
    

    短吗?再来个长点的!

    #include <iostream>
    using namespace std;
    int cs;
    void swap(int& a,int& b)
    {
        int Temp=a;
        a=b;
        b=Temp;
    }
    void sort(int& a[],int b)
    {
        if(a[cs]>a[cs-1])
            swap(a[cs],a[cs-1])
            if(cs>=0)
                return;
        cs--;
        sort(a[i],b)
    }
    int main()
    {
        int st[100],number;
        cin>>number;
        cs=number;
        for(int i=0;i<=number;i++)
            cin>>st[i];
        sort(st,number);
        for(int i=0;i<=number;i++)
            cout<<st[i]<<endl;
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2020-07-09 11:52
    void sort(int *p,int n)
    {
    for (int i = 0; i < n - 1; i++)
    {
    for (int j = 0; j < n - i - 1; j++)
    {
    if (p[j] < p[j + 1])
    {
    int t = p[j];
    p[j] = p[j + 1];
    p[j + 1] = t;
    }
    }
    }
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题