64,642
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
void max(vector<int> scores)//这是求最大值的函数//
{
cout << "max="<<*max_element(scores.begin(), scores.end())<<endl;
}
void min(vector<int> scores)//这是求最小值的函数//
{
cout<< "min="<<*std::min_element(scores.begin(), scores.end())<<endl;
}
void average(vector<int> scores)//这是最平均值的函数
{
unsigned int i=0;
int sum=0;
for(i=0;i<scores.size();i++)
sum+=scores[i];
cout << "average= "<<sum/scores.size()<<endl;
}
void delete_item(vector<int> &scores,int deletenum) //这是删除一个数据的函数
{
vector<int>::iterator it;
it=find(scores.begin(),scores.end(),deletenum);
if(it!=scores.end())//表示找到
scores.erase(it);//从vector中删除,后面的会自动补上
}
void main()
{
vector<int> B;
int num;
unsigned int i;
for(i=0;i<5;i++)
{
cout<<"请输入第"<<i<<"个数据:";
cin>>num;
B.push_back(num);
}
max(B);
min(B);
average(B);
delete_item(B,B[3]);//B[3]表示去掉第4个,当然你也可以写其它数字,它会自动查找是否有
for(i=0;i<B.size();i++)
cout<<B[i]<<" ";
while(1);//防止控制台退出
}
#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)//这是最平均值的函数,但不知道为什么输出的时候就是没有初始化//因为你sum和传入的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 aver=0;//不赋值的话,就没分配空间,average(A,aver)会报错
int A[5]={0};
int i;
for(i=0;i<5;i++)
{
cout<<"请输入第"<<i<<"个数据:";
cin>>A[i];
}
cout<<"max=";
max(A);
cout<<""<<endl;
cout<<"min=";
min(A);
cout<<""<<endl;
cout<<"average=";
average(A,aver);//这里有问题,
cout<<""<<endl;
int n;
n=sizeof(A)/sizeof(int); //这个是引用了C语言的,但是我学的是C++,希望通过visualc++6.0就可以编译//
printf("n=%d\n",n); //不要&,,这里你应该用cout<<"n=%d\n"<<n<<endl; 用C++来
delete_item(A,A[5],&n); //这里你写错了,&n,因为输入是指针,你这里的删除一个数据有问题,你A是局部变量,你没法只删除一个int的空间的,除非你用new和delete,才能把A[5]弄成A[4]
for(i=0;i<5;i++)
{ cout<<A[i]<<" ";
}
while(1);//防止控制台退出
}
int a;