蓝客社区

游客 您好,登录 | 注册

致蓝客社区的会员们:
即日起,社区论坛部分技术交流版块启用身份验证机制,须符合该版块要求的技术标准才能进入,不便之处敬请见谅!
网络信息安全交流QQ群:187228、会员交流聊天QQ群:42417627
论坛 » 其他编程语言 » c/c+如何对任意三个数排序

c/c+如何对任意三个数排序 (2蓝豆) (已结帖)

ss积分等级:LV0 经验等级:Exp0
#1发表于 2013-10-30 22:14 回复:3 查看:13331
要求列出代码,讲解思路和算法。


蓝盟小侃积分等级:LV1 经验等级:Exp0社区管理员
推荐回复,奖励了2蓝豆 #2发表于 2013-10-31 00:00
其实排序的方法很多了,具体去看算法相关的书,算法是一个很大的内容,不是几个问题就能解决的,也许你花一辈子也不见得能学的有多优秀。这里仅提供冒泡算法的代码:
#include <stdio.h>
main() 
{ 
int i,j,temp; 
int a[10]; 
for(i=0;i<10;i++) 
scanf ("%d,",&a[i]); 
for(j=0;j<=9;j++) 
{ for (i=0;i<10-j;i++) 
if (a[i]>a[i+1]) 
{ temp=a[i]; 
a[i]=a[i+1]; 
a[i+1]=temp;} 
} 
for(i=1;i<11;i++) 
printf("%5d,",a[i] ); 
printf("\n"); 
}
ss积分等级:LV0 经验等级:Exp0
#3发表于 2013-10-31 00:03

@蓝盟小侃
其实排序的方法很多了,具体去看算法相关的书,算法是一个很大的内容,不是几个问题就能解决的,也许你花一辈子也不见得能学的有多优秀。这里仅提供冒泡算法的代码:
#include <stdio.h>
main()  { int i,j,temp; int a[10]; for(i=0;i<10;i++) scanf ("%d,",&a[i]); for(j=0;j<=9;j++) { for (i=0;i<10-j;i++) if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n"); }……

代码注释呢? 就是因为看不懂才问啊。
蓝盟小侃积分等级:LV1 经验等级:Exp0社区管理员
#4发表于 2013-10-31 07:04

@ss
代码注释呢? 就是因为看不懂才问啊。 ……

具体的你可以直接百度下什么叫冒泡算法,本质就是外侧循环n次,里测循环n-i次