C语言用冒泡法和选择法对10个数进行排序
问题描述:
C语言用冒泡法和选择法对10个数进行排序
答
冒泡法:
#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");
}