C语言算法之冒泡排序

任意输入10个数字由小到大进行排序。

代码:

#include <stdio.h>
int main()
{
	int i,j,t,a[11];        /*定义变量及数组为基本类型*/
	for(i = 1;i < 11;i++){
		scanf("%d",&a[i]);     /*从键盘中输入10个数*/
	}
	for(i = 1;i < 10;i++){        /*变量i代表比较的趟数*/
		for(j = 1;j < 11-i;j++){  /*变量j代表每趟两两比较的次数*/
			if(a[j] > a[j+1]){      
				t = a[j];         /*利用中间变量实现两值交换*/
				a[j] = a[j+1];
				a[j+1] = t;
			}
		}
	}
	printf("排序后的顺序是:\n");
	for(i = 1;i <= 10;i++){
		printf("%5d",a[i]);     /*将冒泡排序后的顺序输出*/
		printf("\n");
	}
	return 0;
}

    运行结果:

    8 7 6 5 4 3 2 1 9 10

   排序后的顺序是:

    1

    2

    3

    4

    5

    6

    7

    8

    9

   10

你可能感兴趣的:(c,算法)