输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数

作者&投稿:居茅 (若有异议请与网页底部的电邮联系)
输入一个三位数的整数,将数字位置重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽~

#include
int main(){
int a;
printf("please input a number:");
scanf("%d",&a);
int num[3];
num[0]=a%10;//个位数
num[1]=a/10%10;//十位数
num[2]=a/100;//百位数
int p=0;
for(int i=0;i<3;i++){//对三个数排序,由大到小
for(int j=i+1;j<3;j++)
if(num[i]<num[j]){
p=num[i];
num[i]=num[j];
num[j]=p;
}
}
for(int k=0;k<3;k++)//输出
printf("%d",num[k]);
printf("
");
return 0;
}

var
a,b,c,d,e,f,g,h,i,j,k,l:longint;
begin
readln(a);
b:=a div 100;
c:=(a mod 100) div 10;
d:=(a mod 100) mod 10;
if (b<c) and (c<d) then write(d*100+c*10+b)
else if (b<c) and (d<c) and (b<d) then write(c*100+d*10+b)
else if (b<c) and (d<c) and (d<b) then write(c*100+b*10+d)
else if (c<d) and (b<d) and (c<b) then write(d*100+b*10+c)
else if (c<b) and (d<c) then write(b*100+c*10+d)
else write(b*100+d*10+b);
end.

不知你要用什么语言写程序,但过程序可以如下:
设输入的整数用X表示
1. 计算a=X/100,然后使a=不超过X/100的最大整数
2. 计算b=(X-a*100)/10,然后使b=不超过(X-a*100)/10的最大整数
3. 计算c=X-100a-10b
4. 比较a,b,c的大小
5. 计算结果,结果=(a,b,c中的最大数)*100+(a,b,c中的第二大数)*10+(a,b,c中的最小数)
5. 输出结果

这是c++的写法:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,max=-1,middle=0,min=9,x;
cin>>x;
a=x/100;
b=x/10%10;
c=x%10;
max=a;
if(max<b)max=b;
if(max<c)max=c;
min=a;
if(min>b)min=b;
if(min>c)min=c;
if(max>a&&a>min)middle=a;
else if(max>b&&b>min)middle=b;
else middle=c;
cout<<max<<middle<<min;
}

3个数字比较 谁最大谁方第一位


c语言编写程序,输入一个3位整数,打印输出其个位数、十位数和百位...
int n;printf("输入一个三位的正整数: ");scanf("%d",&n);if((n>999)||(n<100)){ printf("%d 不是一个三位数\\n",n);return;} printf("输入在数 %d,其个位是%d,十位是%d,百位是%d\\n",n,n%100,(n\/10)%10,n\/100);return ;} ...

输出一个三位数的整数,编写一个程序,将它的十位数和百位数互换位置...
num = int(input("请输入一个三位数的整数:"))分离出百位、十位、个位数字 hundred = num \/\/ 100 tens = (num \/\/ 10) % 10 ones = num % 10 交换百位和十位数字 temp = hundred hundred = tens tens = temp 组合数字并输出结果 result = hundred * 100 + tens * 10 + ones prin...

从键盘输入一个三位整数,分别输出该数的个位数字,十位数字,百位数字,c...
{int x;scanf("%d",&x);printf("%d的百位=%d,十位=%d,个位=%d\\n",x,x\/100,x\/10%10,x%10);return 0;}

求编一个VB程序?输入一个三位整数,然后将它反向输出?
private sub command1_click()x=inputbox("输入一个三位数")X1=X\\100 'x1=三位数 的百位 X2=(X-X1*100)\\10 '十位 X3=X-X1*100-X2*10 '个位 msgbox X3&X2&X1 end sub

编写程序,输入一个三位数整数,把三个数字逆序组成一个新数,在输出。
include <stdio.h> int main(){ int n,N;printf("请输入您需要处理的三位整数:\\n");scanf("%d",&n);N=n%10*100+n%100\/10*10+n\/100;printf("\\n处理后的整数为:%d\\n",N);}用C语言编的,希望能帮到你!

输入一个三位的正整数,按逆序打印出该数的各位数字。输入样例:369输出样...
include<stdio.h> void main(){ int a;printf("请输入一个三位数整数:");scanf("%d",&a);while(a){ printf("%d",a%10);a=a\/10;} printf("\\n");}

编写程序,从键盘输入一个3位的正整数,输出它的百位数,十位数和个位数...
void main(){int a;int b,c,d;\/\/各个位数上的数字printf("请输入一个三位数:");scanf("%d",&a);b=a\/100; \/\/百位c=(a-b*100)\/10; \/\/十位d=a%10;

输入一个三位整数,分别显示它的个位数、十位数和百位数以及每位数所对应...
include<stdio.h> void main(){int n;char ascii;int i=0;scanf("%d",&n);for(i=0;i<3;i++){ printf("%d ",n%10);c = n%10;\/*对10去余数,先得到个位数,在10为,后百位。*\/ printf("the number's ascii is %d\\n", c);n = n\/10 } 参考资料:C语言 ...

编程,输入一个三位整数,将其分解出百位,十位,各位,并求出各位之和以及...
printf("百位:%c十位:%c个位:%c积:%d和:%d",c[0],c[1],c[2],t1,t2);} int main(int argc,char**argv){ int input=0;printf("请输入三位的整数(100~999),如果输入0则退出程序:\\n\\n");while(1){ if(scanf("%d",&input)==1){ if(input==0){ break;}else { Get...

输入一个三位正整数,将它反向输出。用c语言编!
include <stdio.h> void main( ){ int n,a,b,c;scanf("%d",&n);a=n\/100;b=(n\/10)%10;c=n%10;printf("\\n倒序输出结果:%d%d%d",c,b,a);getch( );}

社旗县19298766736: 输入一个三位数的整数,将数字位置重新排列,组成一个尽可能大的三位数.例如:输入213,重新排列可得到尽可能大的三位数是321.尽可能简单一点,用复... -
钦莎骁悉:[答案] #include int main(){int a;printf("please input a number:");scanf("%d",&a);int num[3];num[0]=a%10;//个位数num[1]=a/10%10;//十位数num[2]=a/100;//百位数int p=0;for(int i=0;i

社旗县19298766736: pascal7.0三位数排序老师出了这么一道题“输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数.例如:输入213,重新排列可得到尽可... -
钦莎骁悉:[答案] program paixu; var a1,a2,a3,n:longint; begin readln(n);a1:=n mod 10;a2:=n div 10 mod 10;a3:=n div 100; if a1if a1if a2write(a1,a2,a3); end. 大致是这样的.我没编译了,但是你可以试试 希望对你有帮助

社旗县19298766736: 输入一个三位数的整数,将数字位置重新排列,组成一个尽可能大的三位数.例如:输入213,重新排列可得到尽 -
钦莎骁悉: #include <stdio.h> int main(){ int a; printf("please input a number:"); scanf("%d",&a); int num[3]; num[0]=a%10;//个位数 num[1]=a/10%10;//十位数 num[2]=a/100;//百位数 int p=0; for(int i=0;i<3;i++){//对三个数排序,由大到小 for(int j=i+1;j...

社旗县19298766736: 输入一个三位数的正整数,将数字位置重新排列,组成一个最大的三位数,用文字写一下方法步骤 -
钦莎骁悉: int a,b,c,d;//四个数字 do{ printf("input a num!>=100<=999");//提示请输入1个数字 scanf("%d",&d);//把输入的数字放到d里 }while(d>=999||d<=100)//若不是3位数则重新输入 a=d/100;//分离原数百位放到a b=d%100/10;//十位放到b c=d...

社旗县19298766736: 用pascal语言:输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数.例如:输入213,重 -
钦莎骁悉: 第四个if那行末尾是)而不是> 在错误信息那里有提示错误发生在(14,2)即第14行第2位,在附近(不一定一定在那里)找找就能发现

社旗县19298766736: 用freepascal编程 输入一个三位数的整数,将数字位置重新排列,组成一个尽可能大的三位数.例如输入213,重 -
钦莎骁悉: program make; var a:array[1..3] of char;i,j:integer;t:char; begin for i:=1 to 3 do read(a[i]); for i:=1 to 2 do for j:=1 to 3-i do if a[j]<a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t; end; for i:=1 to 3 do write(a[i]); writeln; end.

社旗县19298766736: 输入一个三位数的正整数,将数字位置重新排列,组成一个最大的三位数,用C++编写程序,请教我一下,谢谢!! -
钦莎骁悉: 楼主一提供的源程序貌似运行不对啊!楼主三提供的思路不错!

社旗县19298766736: c语言的一道题目:输入任意一个3位数,将其各位数字反序输出. -
钦莎骁悉: main(){int a;printf("please input number:");scanf("%d",&a);while(a)// a的位数可以不仅限于3位数{printf("%d",a%10);//输出此时a的 个位数a=a/10;//去掉a的个位}}希望对你有所帮助!

社旗县19298766736: 这道编程题怎么解?
钦莎骁悉: Private Sub Command1_Click() Dim x, y, z, max, mid, min As Integer x = Val(Text1.Text) y = Val(Text2.Text) z = Val(Text3.Text) If x >= y Then max = x Else max = y End If If max <= z Then max = z End If If x <= y Then min = x Else min = y End If If min >...

社旗县19298766736: 帮我解一道题(电脑编程)
钦莎骁悉: VB编的.还没经验证.临时写出来的. Private Sub Command1_Click() Dim x, y, z, max, mid, min As Integer x = Val(Text1.Text) y = Val(Text2.Text) z = Val(Text3.Text) If x >= y Then max = x Else max = y End If If max <= z Then max = z End If If x <= y ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网