c语言应用函数调用对10个数冒泡排序实现升序排列的程序编写要用调用函数编写 跪求高手指教#includestdio.h
void sort(int a[], int size)
{
int i,j;
for(i=0;isize-1;i)
for(j=0;jsize-i-1;j)
if(a[j]a[j 1])
{
int t;
t=a[j];
a[j]=a[j 1];
a[j 1]=t;
}}
main()
{int i,a[10];
for(i=0;i10;i)
scanf("%d",a[i]);
sort(a,10);
for(i=0;i10;i)
printf("M",a[i]);
printf("\n");
} 函数sort实现冒泡排序
c语言应用函数调用对n个数冒泡排序实现升序排列的程序编写#includestdio.h
int fun(int *a,int n);
int main(void)
{ int a[30],n,i;
printf("n=");
scanf("%d",n); /*输入参与排序的数字的个数n*/
for(i=0;in;i)
{ printf("a[%d]=",i);
scanf("%d",a[i]); /*依次输入这n个数*/
}
fun(a,n); /*调用自定义函数进行冒泡排序*/
for(i=0;in;i) /*输出排序后的结果*/
printf("%d ",a[i]);
printf("\n");
}
int fun(int *a,int n)
{ int i,j,t;
for(i=0;in-1;i) /*冒泡排序*/
for(j=0;jn-1;j)
if(a[j]a[j 1]) { t=a[j];a[j]=a[j 1];a[j 1]=t; }
/*如果后面的数小于前面的数,则将他俩交换次序*/
}
C语言编程——冒泡排序法 。要求:由主函数调用排序子函数,对n个整数进行从小到大的排序 , 谢了#includevoid sort(int a[],int n){int i;int j;for(i=1;ia[j 1])//从小到达,前面的比后面的大,则互换 。{int temp = a[j];a[j] = a[j 1];a[j 1] = temp;}}}}int main(){int a[10]={1,3,5,7,9,2,4,6,8,10};sort(a,10);int i;for(i=0;i10;i){printf("%d ",a[i]);}getchar();return 0;}C语言编程——冒泡排序法 。要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了
1. 编写冒泡排序和选择排序的程序,主函数中编写菜单调用排序函数 。C语言//C语言示例代码如下
#include stdio.h
#define N 10
//冒泡排序(升序)
void bubble_sort(int a[],int n)
{
int i,j;//j表示趟数,i表示第j趟两两比较的次数
int tmp; //临时变量
for(i=0;in-1;i)
for(j=0;jn-1-i;j)
{
if(a[j]a[j 1])
{
tmp=a[j];
a[j]=a[j 1];
a[j 1]=tmp;
}
}
}
//选择排序算法 , 按从小到大顺序
void select_sort(int *array,int n)
{
int i,j,k;
int tmp;
for(i=0;in-1;i)
{
k=i;//开始一趟选择排序 , 假定第i个元素是后面n-i 1个未排序的元素中最小的元素
for(j=i 1;jn;j)
{
if(array[k]array[j]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
k=j;
}
//如果最小元素的下标不是后面n-i 1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
if(k != i)
{
tmp=array[k];
array[k]=array[i];
array[i]=tmp;
}
}
}
int main()
{
int arr[N];
int i;
printf("输入数组元素: ");
for(i=0;iN;i)
scanf("%d",arr[i]);
bubble_sort(arr,N);//调用冒泡排序函数
printf("输出排序后的数组元素: ");
for(i=0;iN;i)
printf("%d ",arr[i]);
printf("\n输入数组元素: ");
for(i=0;iN;i)
scanf("%d",arr[i]);
select_sort(arr,N);//调用选择排序函数
printf("输出排序后的数组元素: ");
for(i=0;iN;i)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
C语言冒泡排序法代码冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中 。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名 。这里以从小到大排序为例进行讲解 。基本思想及举例说明
冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移 。经过一轮比较就 , 选出最大的数;经过第2轮比较,就选出次大的数,以此类推 。下面以对 3 2 4 1 进行冒泡排序说明 。
1.这个算法用rand函数产生新的要排序的数据 , 与已有的有序数列中的数据依次比较,如果遇到比他大的数据,就从该数据开始,一直交换到末尾 , 达到一个插入的效果 。从而形成有序的数列 。
2.此外 , 只用rand函数并不能达到真正随机的效果 。如果要实现真正随机的效果 , 还要配合srand函数才行 。
3.具体代码如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("请输入一个种子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i)。
C语言冒泡排序 。#includestdio.h
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i10;i)
scanf("%d",a[i]);
for(j=0;j9;j) /*进行9次循环 实现9趟比较*/
for(i=0;i9-j;i) /*在每一趟中进行9-j次比较*/
if(a[i]a[i 1]) /*相邻两个数比较,想降序只要改成a[i]a[i 1]*/
{
t=a[i];
a[i]=a[i 1];
a[i 1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i10;i)
printf(" %d",a[i]);
}
扩展资料:
冒泡排序算法的运作
1、比较相邻的元素 。如果第一个比第二个大(?。?就交换他们两个 。
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对 。这步做完后,最后的元素会是最大(?。┑氖?。
3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序) 。
4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序 。
简单的表示
#include stdio.h
void swap(int *i, int *j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int main()
{
int a[10] = {2,1,4,5,6,9,7,8,7,7};
int i,j;
for (i = 0; i10; i)
{
for (j = 9; ji; j--)//从后往前冒泡
{
if (a[j]a[j-1])
{
swap(a[j], a[j-1]);
}
}
}
for (i = 0; i10; i)
{
printf("%d\n", a[i]);
}
return 0;
}
参考资料来源:冒泡排序-百度百科
【调用函数冒泡排序c语言 用c语言冒泡排序法】关于调用函数冒泡排序c语言和用c语言冒泡排序法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 酒店公众号关注自动回复,酒店公众号关注时回复文案
- 电商创业新手如何推广自己,电商怎么推广引流客户
- word如何划分多个区间,word划分为两个域
- python随机抽取字符串,python随机取字符串元素
- 2017年什么cpu算好,17年的cpu
- 图片识别技术vb.net的简单介绍
- 电脑怎么不装显卡内存,电脑不装显卡可以装系统吗
- pg数据库加密,pg数据库锁
- 无人互动直播玩法,无人互动直播玩法介绍