键盘输入十个数,由小到大排序
原理:
虽然是这么想的,但是动手实现的时候没想出来外层循环,还不确定循环的次数。
把这张图画出来就清晰了。
下面是代码:
#include <stdio.h>
#include <stdlib.h>
//键盘输入10个int型数据,由小到大排序
int main(){
int num[10];
///i用于将十个数在每次循环中的第一个数于第二个数比较
//大于则交换位置,小于位置不变,再由目前的第二个数与下一个数比较,以此类推,由此固定每一次循环中最大的数,实现由小到大排序
//j用于减少每一次循环i的个数,达到固定每一次循环中最大的数,由剩余的其他数比较
//k作为交换变量
int i , j , k;
printf("请输入十个数:");
for(i=0;i<10;i++){
scanf("%d" , &num[i]);
}
//排序
for(j=0;j<9;j++){
for(i=0;i<9-j;i++){
if(num[i]>=num[i+1]){
k=num[i];
num[i]=num[i+1];
num[i+1]=k;
}
}
}
printf("由小到大排序:");
for(i=0;i<10;i++){
printf("%d ", num[i]);
}
printf("\n");
system("pause");
return 0;
}