C++编程:任意输入一个自然数,调用一个自定义的函数输出该自然数的各位数字组成的最大数

来源:百度知道 编辑:UC知道 时间:2024/06/21 02:35:23

#include <iostream>
using namespace std;

int Fac(int a);
int main(){
int a=1234;
cout <<Fac(a)<<endl;
return 0;
}
int Fac(int a){
char ch[10];
int b,i=0;
while(a!=0){
b=a%10;
a=a/10;
ch[i]=b+48;
i++;
}
char*pch=new char[i];
memcpy(pch,ch,i);
for(int m=0;m<i;m++){
for(int n=0;n<i-m;n++){
if(pch[n]<pch[n+1])swap(pch[n],pch[n+1]);
}
}
int s=0;
for(int m=0;m<i;m++){
int tmp=pch[m]-48;
for(int n=0;n<i-1-m;n++){
tmp*=10;
}
s+=tmp;
}
return s;
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void max(char a[])
{
int i,j,len;
char temp;
len=strlen(a);
for(i=0;i<len;i++)
for(j=i+1;j<len;j++)
if(a[i]<a[j])
{
temp=a[j];