worangge 2021-12-20 16:29 采纳率: 100%
浏览 68
已结题

给定一个正整数n,求这个正整数进行数位升序排序(对各个数位进行升序排序)后的结果(首位如果为0则忽略0)。求帮助

给定一个正整数n,求这个正整数进行数位升序排序(对各个数位进行升序排序)后的结果(首位如果为0则忽略0)。求帮助
若输入8364790
则输出346789
0在首位就直接省略

  • 写回答

2条回答 默认 最新

  • fuill 2021-12-20 16:49
    关注

    img

    #include<stdio.h>
    void print(int t[],int n)
    {
        int j=0;
        while(j<n)
        {
            if(t[j]!=0)
            {printf("%d",t[j]);}
            j++;
        }
    }
    void sort(int *t,int n)
    {
        int j=0;
        while(j<n)
        {
            if(t[j]<t[j-1]&&j!=0)
            {
                int tem=t[j];
                t[j]=t[j-1];
                t[j-1]=tem;
                j--;
            }
            else
            {
                j++;
            }
        }
    }
    int ms(int n,int *t)
    {
        while(n>9)
        {
            n=n/10;
            t[0]++;
        }
        return n;
    }
    
    int main()
    {
        int n;
        scanf("%d",&n);
        int t[25];
        int j=0;
        int t2[1]= {0};
        int i;
        int tem2;
        while(n>9)
        {
            t2[0]=0;
            int tem=ms(n,t2);
            tem2=10;
            for(i = 1; i < t2[0]; i++)
            {
                tem2=tem2*10;
            }
            n=n-tem2*tem;
            t[j]=tem;
            j++;
        }
        t[j]=n;
        sort(t,j+1);
        print(t,j+1);
        return 0; 
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解