C语言:任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。

供稿:hz-xin.com     日期:2025-01-13
C语言:任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。

在我这儿测试的没错误啊,你的是啥错误,把你的错误输出发上来,还有你用于测试的输入内容

#include
#include
using namespace std;
void main()
{
char a[20];
int i,j,length;
cout<<"输入自然数: ";
gets(a);
length=strlen(a);
for(j=0;j<length-1;j++)
for(i=0;j<length-1-i;i++)
{
int temp;
if(a[i]<a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}//用起泡把数组按从大到小,排序
cout<<"最大数是:"<<endl;
for(i=0;i<length;i++)
{
cout<<a[i];
}
}

#include"stdio.h"

intmain(intargc,char**argv)

charch;

intarr[10]={0};ﻩﻩ//存储各个数字出现的次数,初始化为0

//统计各个数字出现的次数

while(1)

ch=getchar();

if(ch=='\n')

break;

arr[ch-'0']++;

inti,j;

//输出各个数字出现的次数

for(i=9;i>=0;i--)

printf("数字%d出现%d次.\n",i,arr[i]);

//输出这些数组成的最大的数

printf("\n组成的最大的数:\n");

for(i=9;i>=0;i--)

for(j=arr[i];j>0;j--)

printf("%d",i);

printf("\n");

//输出这些数组成的最小的数,注意:0不输出

printf("\n组成的最小的数:\n");

for(i=1;i<=9;i++)

for(j=arr[i];j>0;j--)

printf("%d",i);

printf("\n");

return0;

扩展资料:

while使用方法:

示例C++

int a=NULL;

while(a&lt;10)

{

a++;//自加

if(a&gt;5)//不等while退出循环,直接判断循环

{

break;//跳出循环

}

}

结果:结束后a的值为6。

Javascript

下面的例子定义了一个循环程序,这个循环程序的参数i的起始值为0。该程序会反复运行,直到i大于10为止。i的步进值为1。

&lt;html&gt;

&lt;body&gt;

&lt;script type="text/javascript"&gt;

var i=0

while(i&lt;=10)

{document.write("The number is"+i);

document.write("&lt;br/&gt;");

i=i+1;}

&lt;/script&gt;

&lt;/body&gt;

&lt;/html&gt;

结果

The number is0

The number is1

The number is2

The number is3

The number is4

The number is5

The number is6

The number is7

The number is8

The number is9

The number is10



#include <stdio.h>  
#define N 100  
main ()  
{  
    char a[N]={'\0'};   //初始化试一下,我在vc6.0没报错 
    int i,j,k;  
    scanf("%s",a);  
    for(i=0;a[i]!=0;i++)  
        for(k=i+1;a[k]!=0;k++)  
            if(a[i]<a[k])  
            {  
                j=a[i];  
                a[i]=a[k];  
                a[k]=j;  
            }  
            puts(a);  
}


在我这儿测试的没错误啊,你的是啥错误,把你的错误输出发上来,还有你用于测试的输入内容

C语言:输入自然数n,将n分解成质因子连乘的的形式输出。
include <stdio.h>int main(){ int n, i=2; scanf("%d", &n); printf("%d=", n); while (i<=n){ if (n%i == 0){ printf("%d", i); if(n != i){ printf("*"); } n \/= i; }else{ i+=1; } } printf("\\n"); return ...

输入一个自然数n,求n!,同时统计结果中有多少个n?用c语言编写
哈哈楼主我的简单看看我的吧 include<stdio.h> main(){ int i,n=9,sum=1,count=0; \/\/自己改n的值吧 n大于9就复杂点了 先看懂这个程序吧 for(i=1;i<=n;i++)sum=sum*i;printf("n!=%d\\n",sum);while(sum>0){ if(sum%10==n)count++;sum=sum\/10;} printf("共有%d个n\\n"...

C语言 输入一个自然数N 求第N个素数是多少
include<stdio.h> main(){ int m,n,s=2,j=0;register int i;printf("please input a number:n=");scanf("%d",&n);while(1){ for(i=2;i<=s-1;i++){ if(s%i==0){ m=s;break;} } if(m!=s)j++;if(n==j){ printf("%d\\n",s);break;} s++;} } 满意请采纳 ...

输入一个自然数,若为奇数则输出其平方根,否则输出其立方根,对这个进行...
include<stdio.h>#include<math.h>int main(){int n; scanf("%d",&n); if(n%2)printf("%.10lf\\n",sqrt(n)); else printf("%.10lf\\n",pow(n,1.0\/3)); return 0;}

c语言编程:输入一个自然数n,求组成n^3的n个连续奇数
1,if(i==n) break;你这一句是不是有点多余?为什么不放在:for(i=1;i<=n;i++)?2,a=n*n-(n-1)+j*2;你的外部循环,也就是i几乎没有用,仅仅是用来增加循环次数而已,所以最小值都是7 = 3*3-2+0

编程从键盘输入一个自然数,求1到n所有自然数倒数之和
从键盘输入一个自然数n,求1到n所有自然数倒数之和 是不是输入 n 输出 1+1\/2+1\/3+1\/4+++++1\/n;;include<stdio.h> main(){ int n;printf("输入自然数n:");scanf("%d",&n);double result=0;for(double i=1;i<=n;i++){ result+=1\/i;} printf("%d",result);} ...

C 语言程序设计题 输入自然数n,输出2n-1行"*",每行的字符依次递增,然后...
include <stdio.h> int main(){ int i = 0, j = 0, k = 0, n = 0;scanf("%d", &n); \/\/输入n for (i = 1; i <= n; i++) \/\/打印前n行 { for (j = 0; j < i; j++)printf("*");printf("\\n");} for (i = n - 1; i > 0; i--) \/\/打印...

用c语言编-从键盘输入一个自然数n,找出所有连续的自然数段全部数之...
include <iostream> include <cmath> using namespace std;int main(){ int m,k,n;cin>>m;n=0;for(k=sqrt(2*m)+1;k>1;k--)if ((m*2-k*(k-1))%(2*k)==0){n++; cout<<(m*2-k*(k-1))\/(2*k)<<"~"<<(m*2-k*(k-1))\/(2*k)+k-1<<endl;} if (n==0...

c语言代码 从键盘输入一个3位的自然数M,分离出它的百位、十位与个位...
给你关键性的提示:int b=M\/100; 百位上的数字 int s=(M-b*100)\/10; 十位上的数字 int g=M%10; 各位上的数字 怎么输入数字自己查下书。

键盘输入一个自然数,将该数逆序输出,如输入12345则输出54321.要求用wh...
不知道你要什么语言的,下面是C语言的:include <stdio.h> int main(){ int num, tmp;printf("输入一个五位整数:");scanf("%d", &num);printf("逆序数为:");while (num>0){ tmp=num%10;printf("%d", tmp);num=num\/10;} printf("\\n");return 0;} ...