#include<iostream>
#include<vector>
using namespace std;
int max(const vector<int>& num,int n)
{
int n_index=-1;
int m_index=-1;
for(int i=0;i<n;i++)
{
if(m_index==-1||num[m_index]<num[i])
m_index=i;
}
for (int i=0;i<n;i++)
{
if((i!=m_index) && (n_index==-1)||(num[n_index]<num[i]))
n_index=i;
}
int product=num[n_index]*num[m_index];
cout<<"output "<<num[m_index]<<" "<<num[n_index];
cout<<"product "<<product;
}
int main()
{
int n;
cout<<"enter the no ";
cin>>n;
vector<int>num(n);
for(int i=0;i<n;i++)
cin>>num[i];
max(num,n);
}
在我的max函数中的第二个for循环中;i〃;通过";j";我的代码正在工作,但如果我使用";i〃,为什么它不能像";i〃;对于循环来说是本地的吗??
我已经尝试过您的代码。看来max函数应该是非返回类型的。
void max(const vector<int>& num,int n)
{
...
}
该程序将使用"i"。