| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1187 人关注过本帖
标题:发个悬赏贴可否 编写一个自定义函数 形参是一个int 返回值是形参的各个数 ...
取消只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
已结贴  问题点数:100 回复次数:2 
发个悬赏贴可否 编写一个自定义函数 形参是一个int 返回值是形参的各个数字所组成的最大值,比如输入123 返回321
以下是我写的  感觉有些麻烦  有简单的方案吗
程序代码:
#include <stdio.h>

int _max(int n)
{
    int base[10]={0,0,0,0,0,0,0,0,0,0};
    int index=0;
    //以下对源数字进行分解
    while(n>0)
    {
        base[index]=n%10;
        n/=10;
        index++;
    }
    //以下对分解数字进行排序
    int i,j,tmp;
    for(i=0;i<index;i++)
    {
        for(j=i;j<index;j++)
        {
            if(base[j]>base[i])
            {
                tmp=base[j];
                base[j]=base[i];
                base[i]=tmp;
            }
        }
    }
    //以下将分解数字进行重组
    i=0;
    tmp=0;
    while(i<index)
    {
        tmp=tmp*10+base[i];
        i++;
    }
    return tmp;
}

int main()
{
   printf("%d\n",_max(39071298));
   return 0;
}

搜索更多相关主题的帖子: 最大值 
2014-01-03 09:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用beyondyf在2014-1-3 09:58:23的发言:

来蹭万哥的分咯
#include <stdio.h>

int _max(int n)
{
    int a[10] = {0}, r = 0, i;
    for(; n; n /= 10) a[n % 10]++;
    for(i = 9; i >= 0; i--)
        while(a--) r = r * 10 + i;
    return r;
}

int main()
{
    printf("%d\n", _max(39071298));
    return 0;
}

好像有些看懂了  省略了一道排序的步骤

DO IT YOURSELF !
2014-01-03 10:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
我把杨兄弟的自定义函数按照普通的思维方式重写了一下(如果有不对的还请杨兄弟批评指正)

相信这下  有看不懂的弟兄们  能够读懂了吧
程序代码:
int _max(int n)
{
    int a[10] = {0};
    int  r = 0;
    int  i;
    while(n>0)
    {
        a[n%10]++;
        n/=10;
    }
    for(i = 9; i >= 0; i--)
    {
        while(a[i]>0)
        {
                r = r * 10 + i;
                a[i]--;
        }
    }
    return r;
}



DO IT YOURSELF !
2014-01-03 20:52
快速回复:发个悬赏贴可否 编写一个自定义函数 形参是一个int 返回值是形参的 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018358 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved