c语言题目,输入一个不少于10个数字的数组,用选择排序法,对其进行排序
#include<stdio.h>
#include<stdlib.h>
int main () //用成中文括号了
{
int n,i;
int *p;
int h;
void select_sort(int*a,int n);
printf("输入数组中元素个数 ");
scanf("%d",&n);
p=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(h=0;h<n;h++)
printf("%d ",p[h]);
printf("\n");
select_sort(p, n);
for(h=0;h<n;h++)
printf("%d ",p[h]);
return 0;
}
void select_sort(int*a,int n)
{
register int i,j,min,t;
for(i=0;i<n-1;i++)
{
min=i;//查找最小值
for(j=i+1;j<n;j++)
if(a[min]>a[j])
min=j;//交换
if(min!=i)
{
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
}
好久不玩,连选择排序,都快忘了 ,还是网上找的 函数
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。