想在一次遍历中找出最小的两个数,代码如下:
#include<iostream>
using namespace std;
int main()
{
int n,m1,m2;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
m1=a[0];
m2=a[0];
for(int i=0;i<n;i++)
{
if(a[i]<=m1)
{
m2=m1;
m1=a[i]; //m1为最小数
}
else if(a[i]<=m2)
{
m2=a[i]; //m2为第二小数
}
}
cout<<(m1+m2)<<endl; //输出的是两个最小数的和
return 0;
}