西交大软工一道小题

第一行输入n;接着来n行,分别输入a1、a2、……an,都是整数(范围在0到200之间)。输出和等于200的所有组合。

 #include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
int main()
{
    int n;
   cout<<"请输入要输入的整数的个数:"<<endl;
   cin>>n;
   vector<int> res;
   vector<int> ans;
   int t;
   int i;
   for(i = 0 ;i<n;i++)
   {
       cin>>t;
       res.push_back(t);
   }

    sort(res.begin(),res.end());
    int l = 0;
    int r = res.size()-1;
    while(l<r)
    {
        if((res[l] + res[r])  < 200)
        {
            l++;
        }
        else if((res[l] + res[r])  > 200)
        {
            r--;
        }
        else
        {
            ans.push_back(res[l]);
            ans.push_back(res[r]);
            l++;
            r--;
        }
    }
    if(ans.size() == 0)
    {
        cout<<"没有和等于200的组合"<<endl;
    }
    else{
        for(auto num : ans)
        cout<<num<<" ";
    }


    return 0;
}

猜你喜欢

转载自www.cnblogs.com/akmfwei/p/12930561.html
今日推荐