你的求最大值和最小值的时候,数组的顺序都排好了,还怎么删除指定值????
//#include "stdafx.h"
#include <iostream>
using namespace std;
int A[];
void max(int T[])//这是求最大值的函数//
{ int temp;
for (int i=0;i<5;i++)
{
for (int j=i+1;j<5;j++)
{
if (T[i]<=T[j])
{
temp=T[i];
T[i]=T[j];
T[j]=temp;
}
}
}
cout<<T[0];
}
void min(int T[])//这是求最小值的函数//
{ int temp;
for (int i=0;i<5;i++)
{
for (int j=i+1;j<5;j++)
{
if (T[j]<=T[i])
{
temp=T[i];
T[i]=T[j];
T[j]=temp;
}
}
}
cout<<T[0];
}
void average(int A[],int aver)//这是最平均值的函数,但不知道为什么输出的时候就是没有初始化//
{ int sum = 0;
for (int i=0;i<5;i++)
{
sum+=A[i];
}
aver=sum/5;
cout<<aver;
}
void delete_item(int A[], int item, int n) //这是删除一个数据的函数,我自己上网找的,因为删除其中一个数据是可以找到它然后把后面的元素往前推//
{
int i, j;
for(i=0;i <(n);i++)
{
if(A[i]==item)
{
for(j=i;j <(n);j++)
A[j]=A[j+1];
(n)--;
}
}
}
void main()
{ int i=0;
int aver = 0;
int A[5]={1,2,3,4,5};
for(;i<5;i++)
{
cout<<"请输入第"<<i<<"个数据:";
cin>>A[i];
}
i=0;
for(;i<5;i++)
cout<<A[i]<<' ';
cout<<endl;
cout<<"max=";
max(A);
cout<<""<<endl;
cout<<"min=";
min(A);
cout<<endl;
cout<<"输出:";
for(int kk=0;kk<5;kk++)
{
cout<<A[kk]<<" ";
}
cout<<endl;
cout<<""<<endl;
cout<<"average=";
average(A,aver);
cout<<""<<endl;
int n;
n=sizeof(A)/sizeof(int); //这个是引用了C语言的,但是我学的是C++,希望通过visualc++6.0就可以编译//
delete_item(A, A[4], n);
i=0;
for(;i<n - 1;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
}