如何用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<NUMBE伊怕锱鳏R;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、点击运行后,输入整数值,再按回车键,就能整数值重新排列,最后按任意键就能退出。