/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: hehe.cpp * 作 者:李巧丽 * 完成日期:2012 年11 月 29日 * 版本号: v1.0 * 输入描述:略 * 问题描述:定义数组,编函数,完成冒泡排序 * 程序输出:略 * 问题分析:略 * 重点体会:(1)、排序算法,(2)、数组名作形式参数,将能改变作为实际参数的数组 的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)、形式参数中不制定数 组大小,实际数组的大小也一并作为参数传递。 */ #include<iostream> using namespace std; //两个函数bubble_sort和output_array的声明 int bubble_sort(int a[20],int); int output_array(int b[15],int); int main() { int a[20]={86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76}; int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73}; bubble_sort(a,20); //用冒泡法按降序排序a,b中元素 output_array(b,15); //输出排序后的数组 return 0; } //在下面定义bubble_sort和output_array函数 int bubble_sort(int a[],int) { int i,j,w; for(j=0;j<20;j++) for(i=0;i<20-j;i++) if(a[i]>a[i+1]){ w=a[i]; a[i]=a[i+1]; a[i+1]=w; } cout<<"您的数据从大到小排序为:"<<endl; for(i=19;i>=0;i--){ cout<<a[i]<<" "; } cout<<endl; cout<<"您的数据从小到大排序为:"<<endl; for(i=0;i<20;i++){ cout<<a[i]<<" "; } cout<<endl; return a[i]; } int output_array(int b[],int) { int i,j,w; for(j=0;j<15;j++) for(i=0;i<15-j;i++) if(b[i]>b[i+1]){ w=b[i]; b[i]=b[i+1]; b[i+1]=w; } cout<<"您的数据从大到小排序为:"<<endl; for(i=14;i>=0;i--){ cout<<b[i]<<" "; } cout<<endl; cout<<"您的数据从小到大排序为:"<<endl; for(i=0;i<15;i++){ cout<<b[i]<<" "; } cout<<endl; return b[i]; }
运行结果:
心得体会:本以为在本子上写的挺对的,没想到错误好多,调了好多遍才调出来,这样的劳动成果不容易啊!!!