#include "bits/stdc++.h"
using namespace std;
int main()
{
int i,j;
vector< pair<int,int> > v;
v.push_back(make_pair(4,2));
v.push_back(make_pair(1,3));
v.push_back(make_pair(5,4));
sort(v.begin(), v.end());
for(i=0;i<v.size();i++)
cout<<v[i].first<<" "<<v[i].second<<endl;
}
Run Code Online (Sandbox Code Playgroud)
上述代码的输出是——
1 3
4 2
5 4
Run Code Online (Sandbox Code Playgroud)
从输出中我们可以看到sort函数已经对 v[i].first 进行了排序,但是如果我们只想对 v[i].second 进行排序或者如果我们想对它们两者进行排序,那么如何完成任务呢?
嗨,伙计们,我在从 getline 获取输入时遇到未知错误。我的目的是从用户那里获取一个数字和两个字符串作为输入并打印第一个字符串。这是问题代码
#include <iostream>
using namespace std;
int main() {
int t;
cin>>t;
while(t--)
{ string s,p;
getline(cin,s);
getline(cin,p);
cout<<s;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我提供如下输入时:
1
abababa abb
b
Run Code Online (Sandbox Code Playgroud)
它不打印任何东西。为什么会这样?
我正在编写一个程序来检查给定的数字是否有一个整数的立方根.这是我的代码: -
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(int argc, char const *argv[])
{
double m;
int c=0;
int i;
for(i=2;i<=1000000;i++)
{
m = pow(i,(1./3.));
if(m-(int)m == 0)
{
c++;
}
}
cout<<c<<endl;
}
Run Code Online (Sandbox Code Playgroud)
这里c存储具有整数立方根的数字的数量.我的代码的问题是它总是给出两个作为答案,而答案应该大于两个,因为有许多数字,如8,64,27 ....
我想知道为什么我得到两个结果,我无法捕捉到这个错误!!