回 帖 发 新 帖 刷新版面

主题:各位哥哥多指教呀!!!

输入一个五位数

然后用这五个数字组成最大的数,再组成最小的数相减

输出结果

怎么才能最简单呀

回复列表 (共9个回复)

沙发

过了十多天了还没有人回呀?你自己做出来了吗?和我做的有什么不同吗?
program zhs (input,output);
  const
    n=5;
  var
    num,x,y,temp,i,j:longint;
    a:array[1..n] of integer;
    flag:boolean;
  begin
    write('Please input number of five digit:');
    read(num);
    for i:=1 to n do
      begin
        a[i]:=num mod 10;
        num:=num div 10
      end;
    i:=1;
    repeat
      flag:=true;
      for j:=1 to n-i do
        if a[j] < a[j+1]
          then begin
                 temp:=a[j];
                 a[j]:=a[j+1];
                 a[j+1]:=temp;
                 flag:=false
               end;
      i:=i+1
    until flag;
    temp:=10000;
    x:=0;
    for i:=1 to n do
      begin
        x:=x+a[i]*temp;
        temp:=temp div 10
      end;
    temp:=10000;
    y:=0;
    for j:=n downto 1 do
      begin
        y:=y+a[j]*temp;
        temp:=temp div 10
      end;
    writeln('max=',x,'':6,'min=',y,'':6,'result=',x-y)
  end.

板凳

这个我想到一个更简单的方法~我过两天回来了再说`\~~

3 楼

哎~~~
我本来是想用查表的方法来解决排序的问题~~~~~~
但细想这种方法只适用于五个数不同的情况~~~~~~

4 楼

我的:
program yb(input,output);
var yuanshu:string;
     max:longint;
     min:longint;
     s,s1:string;
     i,j:integer;
     code:integer;
     ch:char;
begin
  readln(yuanshu);
  s:=yuanshu;s1:=yuanshu;
  for i:=1 to length(yuanshu)-1 do
   for j:=1 to length(yuanshu)-i do begin
    if s[j]<s[j+1] then
     begin
      ch:=s[j];
      s[j]:=s[j+1];
      s[j+1]:=ch;
     end;
    if s1[j]>s1[j+1] then
     begin
      ch:=s1[j];
      s1[j]:=s1[j+1];
      s1[j+1]:=ch;
     end;
    end;
  val(s,max,code);
  val(s1,min,code);
  writeln(max,'-',min,'=',max-min);
end.

5 楼

请问如果楼上的,如果输入的数有0这种情况怎么办.你的程序好像不能满足~~~
嘿嘿~~

6 楼


[img]http://bbs.cqreview.com/UploadFile/2005-7/2005712154831382.gif[/img]

7 楼

也许我还没学到那吧

我还不能接受,不过我相信你们写的都是好的,谢谢大家,55555555555555

8 楼

这金棒好烦人............................................................
要滚40多下才能滚完这个烦人的棒...............................................

9 楼

我还专门发了贴说他的~
他还是这样~~没办法~~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册