C语言用冒泡法对10个数排序


问题:用冒泡法对10个数按从小到大排序

算法思想:依次比较相邻两个数,如果前者大于后者,则交换顺序,每执行一次循环就会得出一个最大的数,此时最大值通过循环被移动最后面。

代码:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,temp,num[10];       //定义一个含10个元素的数组
 5     for(i=0;i<10;i++)      
 6     {
 7         scanf("%d",&num[i]);       //依次输入数组元素值
 8     }
 9     for(i=0;i<9;i++)          //循环次数
10     {
11         for(j=0;j<9-i;j++)      //每次循环得出一个最大值
12         {
13             if(num[j]>num[j+1])    //如果前者大于后者,则交换位置
14             {
15                 temp=num[j];
16                 num[j]=num[j+1];
17                 num[j+1]=temp;
18             }
19         }
20     }
21     for(i=0;i<10;i++)        //输出数组元素
22         printf("%d  ",num[i]);
23     printf("\n");
24 }

执行结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM