题目:
Problem A:选择排序函数
Time Limit: 1 Sec Memory Limit: 128 MB
Total Submissions: 4354 Accepted: 2065 Creator: Imported
Problem Description
编写程序,输入一串整数(把这串整数存储在数组中), 然后通过调用selection_ sort函数来排序这些整数。 在给定n个元素的数组后,selection_ sort函数必须做下列工作:
(1)搜索数组找出最大元素,然后把它移到数组的最后;
(2)递归地调用函数本身来对前n-1个数组元素进行排序。
测试程序为:
#include <stdio.h>
#define N 100
void selection_ _sort(int a[, int len);
int main()
int a[N], i= 0, len;
while (scanf("%d" , &a[j)== 1)
i++;
len=i;
selection_ sort(a, len); for(i=0;i< len; i++)
if(i==0) printf("%d", a[i); else print(" %d", a[i);
编码:
#include <stdio.h>
#include <string.h>
#define N 100
void selection_sort(int a[],int len);
int main()
{
int a[N], i = 0, len;
while (scanf("%d", &a[i]) == 1)
{
i++;
}
len = i;
selection_sort(a, len);
for (i = 0; i < len; i++)
{
if (i == 0) printf("%d", a[i]);
else printf(" %d", a[i]);
}
printf("\n");
return 0;
}
void selection_sort(int a[],int len)
{
int b,i=0;
if(len==0)
;
else
{for(i=0;i<len;i++)
{
if(a[i]>a[i+1])
{
b=a[i];
a[i]=a[i+1];
a[i+1]=b;
}
}
selection_sort(a,len);
}len--;
}