龙空技术网

C语言程序设计 从冒泡法与选择法中学习C语言程序设计

涯无止境 226

前言:

如今咱们对“c语言中冒泡法啥意思”都比较注意,姐妹们都需要分析一些“c语言中冒泡法啥意思”的相关知识。那么小编也在网上收集了一些关于“c语言中冒泡法啥意思””的相关知识,希望我们能喜欢,我们快快来学习一下吧!

冒泡法排序

程序举例:

将输入的十个数字按从小到大的顺序排列。

编写程序:

 # include <stdio.h>int main(){int a[10];int i,j,t;printf("输入十个数字:\n");for (i=0;i<10;i++)scanf("%d" ,&:a[i]);printf("\n");for(j=0;j<9;j+ +)for(i=0;i<9-9j;i++)if (a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(" 排序后的十个数字 :\n");for(i=0;i<10;i++)printf(" %d",a[i]);printf("\n") ;return 0;}

运行结果:

输入十个数字:

10 16 8 7 0 5 4 3 2 1

排序后的十个数字:

0 1 2 3 4 5 7 8 10 16

程序分析:

使相邻两个数字之间依次进行比较,将数值大的数字放在后边,如此进行九趟,每趟进行九次比较即可实现十个数字由小到大排序输出。

选择法排序

程序举例:

将输入的十个数字按从小到大的顺序排列。

编写程序:

 # include < stdio. h>int main( ){void sort(int arrayl」,int n);int a[10],i;printf("输入十个数字:\n"); for(i=0;i<10;++)scanf("%d" ,&a[i]);sort(a,10);printf("排序后的十个数字\n");for (i=0;i<10;i++)printf("%d"a[i]);printf ("\n");return 0;}void sort(int array[],Int n){ int i,j,k,t;for(i=0;<n-1;i++){k=i;for(j=i+1;j<n;j++)ifarray[j]< array[k])k=j;t=array[k];array[k]=array[i];array[i]=t;}}

运行结果:

输入十个数字:

10 16 8 7 0 5 4 3 2 1

排序后的十个数字:

0 1 2 3 4 5 7 8 10 16

程序分析:

选择法就是指先将数字中最小的数字与a[0]换位置,在依次找出最小的数字放在a[1],a[2],a[3]…,比较九轮即可完成程序设计要求。

总结

C语言中的排序方法不仅只有冒泡法和选择法两种,这里只介绍了两种排序方法。上述两种方法虽然输入输出结果相同,但是其内部排序过程不同,对于初学者来说还需要细心分辨不同之处。

欢迎大家关注、评论、转发、点赞;私信我还可获得更多精彩知识,来一起交流吧~

标签: #c语言中冒泡法啥意思