用c语言编程:键盘上输入N个整数,使该数组中的数按照从小到大的次序排列(选择法排序)

2024-11-30 11:46:51
推荐回答(2个)
回答1:

#include "stdio.h"

#define N 10

int main(int argc,char *argv[]){

int a[N],i,j,k;

printf("Please enter %d integer(s)...\n",N);

for(i=0;i

for(i=0;i

for(k=i,j=k+1;j

if(a[k]>a[j])

k=j;

if(k!=i)

j=a[k],a[k]=a[i],a[i]=j;

printf("%d ",a[i]);

}

printf("\n");

return 0;

}

代码图片和运行样例:

回答2:

#include
main()
{
int a[10],i,j,t;
printf("Please input 10 numbers: ");/*输入源数据*/
for(i=0;i<10;i++)
scanf("%d",&a[i]); /*排序*/
for(j=0;j<9;j++) /*外循环控制排序趟数,n个数排n-1趟*/
for(i=0;i<9-j;i++) /*内循环每趟比较的次数,第j趟比较n-j次*/
if(a[i]>a[i+1])
/*相邻元素比较,逆序则交换*/
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}/*输出排序结果*/
printf("The sorted numbers: ");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}