如何用c语言将数据的集合重新排序
1、首先,点击桌面上的vc++6.0,打开c语言编程软件。也可以使用其他软件,小编这里用VC向大家演示。

2、打开软件以后,点击右上角的【文件】,【新建】。出现新的对话框后,再点击【文件】,选择下方C++ Source File。文件名必须以.c结尾,最后点击【确定】。

3、输入代码:
#include<stdio.h> #define NUMBER 5void bsort (int a[],int n)
{
int i;int j;
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
{
if(a[j-1]>a[j])
{
int temp=a[j];
a[j]=a[j-1];
a[j-1]=temp; }
}
}
}
int main(void)
{ int i; int height[NUMBER];
printf("请输入5人的身高。\n");
for(i=0;i<NUMBER;i++)
{
printf("%2d号:",i+1);
scanf("%d",&height[i]);
}
bsort(height,NUMBER);
printf("按升序排列。\n");
for(i=0;i<NUMBER;i++)
printf("%2d号:%d\n",i+1,height[i]);
return 0;
}

4、解析1:
printf("请输入5人的身高。\n");
for(i=0;i<NUMBER;i++)
{
printf("%2d号:",i+1);
scanf("%d",&height[i]);
}
这部分函数是从键盘输入数据的代码。小编这里以学生身高举例。注意要在%d之间加2,使得1和号之间有一定距离。

5、解析2:
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
{
if(a[j-1]>a[j])
{
int temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
这部分代码是将所有的数据从小到大重新排列,多次运用for语句。结构比较复杂。需要多理解,掌握其中内涵。流程见图。

6、解析3:
printf("按升序排列。\n");
for(i=0;i<NUMBER;i++)
printf("%2d号:%d\n",i+1,height[i]);
这部分代码是将函数的结果显示出来。

7、编写好以后:
点击1的图标,进行编译,查找错误。
点击2进行连接。
点击3进行运行。

8、点击运行后,输入整数值,再按回车键,就能整数值重新排列,最后按任意键就能退出。
