用C语言编写,用起泡法从小到大和从大到小排序
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File


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

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

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

5、比较数组大小并排序:
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;
}
}

6、输出结果:
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"); /*输出换行*/

7、完整的源代码:
#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"); /*输出换行*/
}
