第十四周上机项目4:数组的排序

/*
* 程序的版权和版本声明部分
* 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];
			
}


运行结果:

第十四周上机项目4:数组的排序_第1张图片

心得体会:本以为在本子上写的挺对的,没想到错误好多,调了好多遍才调出来,这样的劳动成果不容易啊!!!

你可能感兴趣的:(第十四周上机项目4:数组的排序)