为什么会有一个4啊?
还有为什么我这段代码0分:
#include<bits/stdc++.h>
using namespace std;
int x, flag;
string s;
vector<int> ans;
int main()
{
ans.push_back(0);
cin >> x;
getline(cin, s);
while(getline(cin, s))
{
int k;
for(k = 0; k < s.size(); k++)
{
if(s[k] != ' ')
{
break;
}
}
s = s.substr(k);
//去掉空格
if(flag > 0)
{
if(s == "}")
{
flag--;
}
continue;
}
//如果是在不满足的条件中的语句则直接跳过
if(s[0] == 'i' && s[1] == 'f')
{
s = s.substr(4, s.find(')') - 4);
int cnt = 0;
bool f = 0;
if(s[2] == '>')
{
f = 1;
}
for(int i = 4; i < s.size(); i++)
{
cnt = cnt * 10 + (s[i] - '0');
}
if(f == 0)
{
if(x >= cnt)
{
flag++;
}
}
else
{
if(x <= cnt)
{
flag++;
}
}
//提取判断条件并进行判断
}
else
{
int cnt = 0;
for(int i = 4; i + 1 < s.size(); i++)
{
cnt = cnt * 10 + (s[i] - '0');
}
ans.push_back(cnt);
//提取数字并进行复制
}
}
sort(ans.begin(), ans.end());
for(int i = 0; i < ans.size(); i++)
{
cout << ans[i] << " ";
}
return 0;
}