/*
*
函数功能说明:用指针实现—任意输入20个数,将它们按照从大到小的顺序输出。
*/
////////////////////////////////////////////////////
//包含头文件
#include<stdio.h>
#include <iostream>
using namespace std;
////////////////////////////////////////////////////
//*****************************************
//函数声明
void input(double* a);
void sort(double* a);
void output(double* a);
void main()
{
//double a[20]={0};
double *a=new double[20];
//输入数据
input(a);
//排序
sort(a);
//输出
output(a);
}
//******************************************
//输入函数实现
void input(double* a)
{
cout<<"请输入20个数!"<<endl;
int k=0;
double b;
while(k<20)
{
cin>>b;
*a=b;
a++;
k++;
}
}
//*******************************************
//排序函数实现
void sort(double *a)
{
//选择排序
for(int i=0;i<20;i++)
{
int max=*(a+i);
for(int j=i;j<20;j++)
{
if(*(a+j)>max)
{
//交换
int k=0;
k=max;
max=*(a+j);
*(a+j)=k;
}
//a++;
}
*(a+i)=max;
}
}
//********************************************
//输出
void output(double *a)
{
cout<<"排序后的数列是:"<<endl;
for(int k=0;k<20;k++)
{
cout<<(*a)<<' ';
a++;
}
cout<<endl;
}
[
本帖最后由 apwh7550 于 2009-10-25 21:12 编辑 ]