l 任意输入一个4位自然数,调用函数输出该自然数的各位数字组成的最大数。

如题所述

#include<iostream.h>
void main()
{
int a;
cout<<"请输入一个四位数:";
cin>>a;
{
if(a<1000||a>=10000)
cout<<"请重新输入!\n";
}
// cout<<a;
int b[4],t, m;
//分解四位数,将其存入四元数组
b[0]=a/1000;a=a%1000;
b[1]=a/100;a=a%100;
b[2]=a/10;b[3]=a%10;
//冒泡法对四元数组排序(降序)
for(int i=0;i<4;i++)
{
for(int j=0;j<3-i;j++)
if (b[j]<b[j+1])
{ t=b[j];b[j]=b[j+1];b[j+1]=t; }
}

m=b[0]*1000+b[1]*100+b[2]*10+b[3];
cout<<"最大数为:"<<m<<endl;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-02
#include <stdio.h>

void composeamxnum(int n);

int main(void)
{
int n = 1908;

composeamxnum(n);
}

void composeamxnum(int n)
{
int i, j;
int a[4];

i = n / 1000;
j = n % 1000 / 100;

if (i > j)
{
a[0] = i;
a[1] = j;
}
else
{
a[0] = j;
a[1] = i;
}

i = n % 100 / 10;
if (i > a[0])
{
a[2] = a[1];
a[1] = a[0];
a[0] = i;
}
else if (i > a[1])
{
a[2] = a[1];
a[1] = i;
}
else
{
a[2] = i;
}
i = n % 10;
if (i > a[0])
{
a[3] = a[2];
a[2] = a[1];
a[1] = a[0];
a[0] = i;
}
else if (i > a[1])
{
a[3] = a[2];
a[2] = a[1];
a[1] = i;
}
else if (i > a[2])
{
a[3] = a[2];
a[2] = i;
}
else
{
a[3] = i;
}

printf("%d", a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]);
}本回答被提问者采纳
第2个回答  2009-08-27
排个序
字符串读写!

...一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593...
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...

c语言:要求输入一个四位整数,然后将各位数字按英文输出
include<stdio.h> void main(){ int n,i;printf("请输入一个四位整数:\\n");scanf("%d",&n);if (n>999&&n<10000){ while (n>0){ i=n%10;switch(i){ case (0): printf("zero ",i);break;case (1):printf("one ",i); break;case (2):printf("two ",i); break;case...

C语言编程高手请来解决几道tc程序题
在主函数中任意输入一个整数,调用该函数,输出该整数的位数及各个位上的数字。要求:若没定义该函数,而在主函数中直接完成全部功能扣掉15分。3、编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,统计满足条件的所有这些整数的个数并作为函数...

C语言 自守数。任意输入一个自然数,判断是否自守数并输出
} 在这里,你首先使用 scanf 函数从标准输入中读取一个自然数 n。然后,你计算 n 的平方 square,并将其转换为字符串 str。接下来,你比较字符串 str 的末尾字符是否等于字符 '0'+n,如果是,则说明 n 是自守数,你将打印一条消息,指出 n 是自守数,并输出 n 的平方;否则,你将打印一条消...

编程实现,输入一个自然数n,输出n以内的所有素数。
接下来可以调用这个函数并输出结果:Copy code n = int(input("请输入一个自然数:"))primes = find_primes(n)print("小于等于", n, "的素数有:", primes)运行示例:Copy code 请输入一个自然数:20 小于等于 20 的素数有: [2, 3, 5, 7, 11, 13, 17, 19]...

任意输入一个自然数(设不超过三位),判断是否自守数并输出
string v_i=(string)i;(写法不一定对,只是表达意思)int result =i*i;\/\/计算 String v_result = \/\/获取result从个位到第j位的数字 if(判断)输出.当然可能有的方法不需要如此复杂,不过我目前水平就如此了.代码我就不完全贴出来了,程序主要要自己写,哪怕是一个一个函数去查,千万不要直接copy...

用C语言编写程序。输入一个自然数N,输出N的位数。
要输出一个自然数N的位数,可以使用log10函数。log10函数的返回值是以10为底的对数,可以用来计算一个数的位数。具体实现如下:include <stdio.h>#include <math.h>int main() {int n;scanf("%d", &n);int digits = (int)log10(n) + 1;printf("%d\\n", digits);return 0;} 首先,...

python计算数字位数多少(python数字的位数)
计算各个数位上的数字之和 he=m1+m2+n2 输出和 print("输入的三位整数为:",shuzi)print("百位数为:",m1)print("十位数为:",m2)print("个位数为:",m3)print("各位数字之和为:",he)使用Python判断输入的整数位数并求出每个位上的值??对于给定的正整数N(N最大为5位数),求其整数位数,...

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字
include <stdio.h> include <string.h> include <math.h> const char *Data[] = {"Ling", "Yi", "Er", "San", "Si", "Wu", "Liu", "Qi", "Ba", "Jiu"};int main(void){ char n[100] = {'\\0'};int i, sum = 0, t = 0;int digit = 1;gets(n);for (i = 0...

输入自然数N ,调用自定义函数,计算s=1*1+2*2+…+n*n
这是一个求数列前N项和通项公式的题目 该数列为首项为1*1的自然数的平方和 既:s=n(n+1)(2n+1)\/6 于是 该函数即为:f(x)=x(x+1)(2x+1)\/6 (x为大于等于1的自然数)

相似回答