『壹』 C语言,选择法排序,对数组A进行升序排列,求答案,谢大神!
给你个我以前写的降序的程序,你稍微改下就行了,我懒得改了,
#include <stdio.h>
#define N 10
main()
{
int i,j;/*i,j为循环变量*/
long a[N],temp,min; /*a[min]为比较时较小的数*/
printf("请依次输入%d个数。\n",N);
/*进行循环输入这十个数*/
for(i=0;i<N;i )
scanf("%ld",&a[i]);
printf("你输入的%d个数是\n",N);
/*进行循环输出这十个数*/
for(i=0;i<N;i )
printf("%ld ",a[i]);
printf("\n");
/*利用选择法,即从后9个比较过程中,选择一个最小的与第一个
元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。*/
for(i=0;i<N-1;i )
{
min=i;
for(j=i 1;j<N;j )
if(a[j]>a[min])
{
temp=a[j];
a[j]=a[min];
a[min]=temp;
}
}
printf("这%d个数从大到小排列为\n",N);
/*打印出这十个经排列后的数*/
for(i=0;i<N;i )
printf("%d ",a[i]);
printf("\n");
}