5-1
选择法排序:本题要求将给定的n个整数从小到大排序后输出。输出时相邻数字中间用一个空格分开,行末不得有多余空格。
#include <stdio.h>
# define MAXN 10
int main()
{
int i, index, k, n, temp;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for(k = 0; k < n-1; k++){
index = k;
for(i=k+1;i<n;i++)
{if(a[index]>a[i])
{
index = i;
}
}
temp=a[index];a[index]=a[k];a[k]=temp;
}
for(i = 0; i < n; i++) {
if(i==0)
{
printf("%d", a[i]);
}
else{
printf(" %d", a[i]);
}
}
printf("\n");
return 0;
}
5-2
冒泡法排序:本题要求将给定的n个整数从小到大排序后输出。输出时相邻数字中间用一个空格分开,行末不得有多余空格。
#include <stdio.h>
# define MAXN 10
int main()
{
int i, index, j, n, temp;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for( i = 1; i < n; i++ ){
for(j=0;j<n-i;j++)
{
if (a[j]>a[j+1])
{
temp=a[j];a[j]=a[j+1];a[j+1]=temp
}
}
}
for(i = 0; i < n; i++) {
if (i==0)
{
printf("%d", a[i]);
}
else{
printf(" %d",a[i]);
}
}
printf("\n");
return 0;
}