/*
* 程序的版权和版本声明部分
* 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];
}
运行结果:
心得体会:本以为在本子上写的挺对的,没想到错误好多,调了好多遍才调出来,这样的劳动成果不容易啊!!!