用C语言编写,用起泡法从小到大和从大到小排序

作者:神奇的周 | 创建时间: 2023-06-17
在visual C++ 6.0上,用C语言编写,输入10个数,用起泡法从小到大排序和从大到小排序的程序...
用C语言编写,用起泡法从小到大和从大到小排序

操作方法

打开visual C++ 6.0-文件-新建-文件-C++ Source File

输入预处理命令和主函数: #include<stdio.h>           /*输入输出头文件*/ void main()           /*空类型:主函数*/

定义变量和数组的数据类型: int a[10],c[10];         /*定义数组的数据类型为整型*/ int b, f, e, d, t;         /*定义变量的数据类型为整型*/

输入数值给数组a并赋给数组c  : printf("输入10个数,用空格隔开:\n");        /*输出文字提示*/ for(b=0;b<=9;b++)          /*用循环输入数值给数组a并赋给数组c*/ { scanf("%d",&a[b]); c[b]=a[b]; }

比较数组大小并排序: for(d=0;d<=8;d++)          /*要进行(10-1)组比较*/ for(e=0;e<=8-d;e++)          /*每组进行(10减第几组)次比较*/ { if(a[e]>a[e+1])          /*比较大小并将小的赋给前面的数组*/ { t=a[e]; a[e]=a[e+1]; a[e+1]=t; } if(c[e]<c[e+1])          /*比较大小并将大的赋给前面的数组*/ { t=c[e+1]; c[e+1]=c[e]; c[e]=t; } }

输出结果: printf("从小到大:\n");         /*输出文字提示*/ for(f=0;f<=9;f++)           /*依次从小到大输出*/ printf("%d ",a[f]); printf("\n");           /*输出换行*/ printf("从大到小:\n");         /*输出文字提示*/ for(f=0;f<=9;f++)          /*依次从大到小输出*/ printf("%d ",c[f]); printf("\n");          /*输出换行*/

完整的源代码: #include<stdio.h>        /*输入输出头文件*/ void main()         /*空类型:主函数*/ { int a[10],c[10];         /*定义数组的数据类型为整型*/ int b, f, e, d, t;         /*定义变量的数据类型为整型*/ printf("输入10个数,用空格隔开:\n");        /*输出文字提示*/ for(b=0;b<=9;b++)          /*用循环输入数值给数组a并赋给数组c*/ { scanf("%d",&a[b]); c[b]=a[b]; } for(d=0;d<=8;d++)          /*要进行(10-1)组比较*/ for(e=0;e<=8-d;e++)          /*每组进行(10减第几组)次比较*/ { if(a[e]>a[e+1])          /*比较大小并将小的赋给前面的数组*/ { t=a[e]; a[e]=a[e+1]; a[e+1]=t; } if(c[e]<c[e+1])          /*比较大小并将大的赋给前面的数组*/ { t=c[e+1]; c[e+1]=c[e]; c[e]=t; } } printf("从小到大:\n");         /*输出文字提示*/ for(f=0;f<=9;f++)           /*依次从小到大输出*/ printf("%d ",a[f]); printf("\n");           /*输出换行*/ printf("从大到小:\n");         /*输出文字提示*/ for(f=0;f<=9;f++)          /*依次从大到小输出*/ printf("%d ",c[f]); printf("\n");          /*输出换行*/ }

点击展开全文

更多推荐