标题:20个数排列顺序(小到大) 用选择排序和冒泡排序2种排序
取消只看楼主
A306452792
Rank: 1
等 级:新手上路
帖 子:31
专家分:7
注 册:2010-8-18
结帖率:100%
已结贴  问题点数:20 回复次数:1 
20个数排列顺序(小到大) 用选择排序和冒泡排序2种排序
20个数排列顺序(小到大) 用选择排序和冒泡排序2种排序
搜索更多相关主题的帖子: 排列 冒泡 顺序 选择 
2010-12-07 21:56
A306452792
Rank: 1
等 级:新手上路
帖 子:31
专家分:7
注 册:2010-8-18
得分:0 
其实我只是提供下题目而已,不是我不会做................希望大家研究下
方法一:冒泡法
#define N 20
#include"stdio.h"
main()
{
int a[N],i,j,temp;
printf("please input %d numbers\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("the array after sort:\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
方法二:选择排序
#include"stdio.h"
#define N 20
main()
{
int a[N],i,j,r,temp;
printf("please input %d numbers\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{ r=i;
for(j=i+1;j<N;j++)
if(a[j]<a[r])
r=j;
if(r!=i)
{
temp=a[r];
a[r]=a[i];
a[i]=temp;
}
}
printf("the array after sort:\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
}
2010-12-08 12:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328295-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.408149 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved