C语言用函数冒泡排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计实验报告

1实验目的

1.透彻理解函数的概念。

2.掌握函数的定义方法。

3.了解函数地形参和实参之间的对应关系及“值传递”地方式。

4.了解函数的返回值的概念。

2实验内容

写一主函数输入一数组,写一子函数实现对该数组的冒泡排序并输出。

输入数据:12,21,33,5,19,27,6,4,38,47,29,56,97

3算法描述流程图

主函数:子函数bub:

4源程序

#include

int bub(int a[13])

{

int i,j,k;

for(j=0;j<13;j++)

for(i=0;i<13-j;i++)

{

if(a[i]>a[i+1])

{

k=a[i+1];

a[i+1]=a[i];

a[i]=k;

}

}

printf("排序好的数为;");

for(i=0;i<13;i++)

printf("%4d",a[i]);

printf("\n");

return 0;

}

void main()

{

int m[13],k;

for(k=0;k<13;k++)

scanf("%d",&m[k]);

for(k=0;k<13;k++)

printf("%4d",m[k]);

printf("\n");

bub(m);

}

5测试数据

输入数据:12,21,33,5,19,27,6,4,38,47,29,56,97 6运行结果

7出现问题及解决方法

开始时不知道如何进行控制循环仅用一个for循环无法实现冒泡排序,只能找出最大值;

用两个for循环。

8实验心得

C语言在实践中更容易掌握。

相关文档
最新文档