发个悬赏贴可否 编写一个自定义函数 形参是一个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; }