用c语言编程:输出各位数字组成的最大数
任意输入一个自然数(不大于 ),输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。 输入: 自然数 n 输出: 各位数字组成的最大数
这实际上要对各位数从大到小排序。排序算法是算法的基础,网上有的是现成的代码。 这里给出一个冒泡实现的函数。
int MaxNumber(int number) { char digits[10] = {'\0'}; itoa(number, digits, 10); size_t len = strlen(digits); for (int i = 0; i i; --j) { if (digits[j] > digits[j-1]) { //swap(digits[j], digits[j-1]); char c = digits[j]; digits[j] = digits[j-1]; digits[j-1] = c; } } } return atoi(digits); }。
实际上就是给这些输入的数字进行排序,从大到小
#include #include #include void max(char a[]) { int i,j,len; char temp; len=strlen(a); for(i=0;i #include void main() { char n[200],t; int i,j,m; cin>>n; m=strlen(n); for(i=0;i using namespace std; int Fac(int a); int main(){ int a=1234; cout #include using namespace std; void main() { char a[20]; int i,j,length; cout<<"输入自然数: "; gets(a); length=strlen(a); for(j=0;j给你个程序论坛吧,包括JAVA,C 等 。
答:递归问题呀,超复杂,如果不考虑0和重复的数字就简单了。。。。。详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>