/* *
文件名称:选择法排序.c
作者:安理计算机 杨腾飞
日期:2019.3.7
版本:v1.0
问题描述:对输入的数据从小到大排序
知识点:多维数组
*/
#include<stdio.h>
main()
{
int change,a,i,j,n=0,count=0; //定义最大数change,对应序数a,中间变量i,j,统计器n,计数器count=0
int add[400];
printf("请输入要排序数据的个数\n",n);
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个数据\n",i+1);
scanf("%d",&add[i]);
}
for(i=0;i<n-1;i++)
{
change=add[i]; //默认最大数
a=i; //默认最大数的位数
for(j=i+1;j<n;j++) //内层循环:一旦数字小于默认最小值,最小值变为这个数
{
if(add[j]<change)
{
change=add[j];
a=j;
}
}
add[a]=add[i]; //原最小值位换程第i-1个数
add[i]=change; //原第i-1位数换为从第i-1位数之后的最小数
}
printf("从小到大排序后如下所示:\n");
for(i=0;i<n;i++)
{
printf(" %d ",add[i]);
count++;
if(count==5) //每满五个数自动换行
{
printf("\n");
count=0;
}
}
printf("\n欢迎您的下次使用!\n");
}
/*
如果要从大到小排列,将代码中if判断句中的“<”改为“>”便可
*/