C语言用函数冒泡排序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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语言在实践中更容易掌握。