c语言的一题目:分别用冒泡法和选择法对10个数排序!!谢谢
3个回答
展开全部
冒泡排序
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;
}
}
}
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;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议请教同学
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
冒泡法:
#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");
}
#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");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询