老公靠打德州扑克生活:输入N个数,按从大到小顺序输出来

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 17:44:45
程序尽量短!

〖c语言版〗仅供参考
提供给你3种排序方法:
1.选择法:
#define N 10
main()
{int i,j,min,tem,a[N];
/*input data*/
printf("please input ten num:\n");
for(i=0;i<N;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
/*sort ten num*/
for(i=0;i<N-1;i++)
{min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
/*output data*/
printf("After sorted \n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
getch();
}
=============================================
2.冒泡排序(buddle sort)
main()
{
int a[11];
int i,j,t;
clrscr();
printf("input 10 numbers :\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted numbers:\n");
for(i=1;i<11;i++)
printf("%d ",a[i]);
getch();
}
========================================
3.优化的选择排序法
main()
{
int i,j,a[10],t;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++)
for(j=i;j<=8;j++)
{t=a[i];
if(a[j]>a[j+1])
{a[i]=a[j+1];
a[j+1]=t;}
}
for(i=0;i<=9;i++)
printf("%d ",a[i]);
getch();
}
=======================================
上面的例子都是采用n=10的例子,9当抛砖了……更多的算法,请参考《数据结构》,学好算法对编程很重要的。

program insert_sort;
type
link=^rec;
rec=record
data:integer;
next:link;
end;
var l:link;
procedure insert(var p1,p2:link; x:integer);
var p:link;
begin
new(p);
p^.data:=x;
p^.next:=p2;
p1^.next:=p;
end;
procedure sort(var p:link);
var i:integer; t,v:link;
begin
new(p);
new(t);
p^.data:=-maxint-1;p^.next:=t;
t^.data:=maxint;t^.next:=nil;
read(i);
while i<>-9999 do begin
v:=p;
while not((i>v^.data)and(i<=v^.next^.data)) do v:=v^.next;
insert(v,v^.next,i);
read(i);
end;
end;
procedure work(var p:link);
var v,y:link;
begin
v:=p;
p:=p^.next;
v^.next:=nil;
dispose(v);
v:=p;
repeat v:=v^.next; until v^.next^.next=nil;
y:=v^.next;
v^.next:=nil;
dispose(y);
end;
procedure view(p:link);
begin
repeat
write(p^.data:5);
p:=p^.next;
until p=nil;
end;
{main}
begin
sort(l);
work(l);
view(l);
readln;
readln;
end.

我帮你看看:
Private Sub Form_Click()
Dim i, j As Integer
Dim a(1 To 10) As Long
Dim aa As String, maxv As Long
For i = 1 To 10
a(i) = InputBox("请输入第" & Str(i) & "个数字", "输入")
Next i

For j = 1 To 10
For i = 1 To 9
If a(i) > a(i + 1) Then
x = a(i)
a(i) = a(i + 1)
a(i + 1) = x
End If

Next i
Next j

For i = 1 To 10
Print a(i)
Next i

End Sub

java语言
1,任意数组的情况下
int[] a = {6,2,3,4,5};//任意基本类型数组,不一定int
Arrays.sort(a);

2,List的情况下
Collections.sort(list)

起泡法
如果是net 里面有这个函数

以上这几个就可以解决问题了。