c语言的一题目:分别用冒泡法和选择法对10个数排序!!谢谢

 我来答
zhou397583798
2010-11-16 · TA获得超过243个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:195万
展开全部
冒泡排序
int swap=0;
int n=10;
for(int i=n;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
swap=1;
}
}
if(swap)break;
}

简单选择排序
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rougue
2010-11-16 · TA获得超过233个赞
知道小有建树答主
回答量:571
采纳率:0%
帮助的人:465万
展开全部
建议请教同学
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李皝
推荐于2018-05-06 · TA获得超过584个赞
知道小有建树答主
回答量:168
采纳率:100%
帮助的人:85.7万
展开全部
冒泡法:
#define N 10
#include<stdio.h>
maopao(int a[N])
{
int i,j,t;
for(j=0;j<N;j++)
for(i=0;i<N-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("排序后的数组为:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
}

void main()
{
int i,a[N];
printf("请输入10个数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n");
maopao(a[N]);

}

选择法:
#include<stdio.h>
#define N 10
void main()
{
int i,j,k,t,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(a[j]>a[k])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}

}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);

}
printf("\n");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式