#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”是for循环的局部?
发布于 2020-09-23 22:03:58
我已经试过你的代码了。似乎max函数应该是非返回类型。
void max(const vector<int>& num,int n)
{
...
}该程序将与“i”一起工作。
https://stackoverflow.com/questions/63983970
复制相似问题