用选择法对十个整数排序,十个并用scanf输入整数
该如何去做呢
#include <stdio.h>
int main()
{
int a[10],i,j,k,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
k = i;
for(j=i+1;j<10;j++)
if(a[j] > a[k])
k = j;
if(k != i)
{
t = a[k];
a[k] = a[i];
a[i] = t;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
/*选择法排序,文件名sy6-1.c*/
#include<stdio.h>
int main()
{
int i,j,min,temp,a[11]; /*不使用下标为0的元素,因此长度定义为11。*/
printf("请输入10个数字:\n");
for(i=1;i<11;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]); /*输入10个数*/
}
printf("\n排序前数字的顺序是:\n");
for(i=1;i<11;i++)
printf("%4d",a[i]); /*输出10个数*/
printf("\n");
for(i=1;i<=9;i++) /*对10个数排序*/
{
min=i; /*排序开始时认为下标为1的数即为当前最小的元素值*/
for(j=i+1;j<=10;j++)
if(a[min]>a[j])
min=j;
temp=a[i]; /*以下进行交换*/
a[i]=a[min];
a[min]=temp;
}
printf("\n排序后数字的顺序是:\n");
for(i=1;i<11;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}