**示例:-Animals(爬行动物鸟(老鹰鸽)乌鸦)作为输入? **
var sh = context.shopDB.Where(p => p.fruitName == "mango" &&
p.fruitName == "apple");
List<shop> shList = sh.Where(f => f.numberOfFruitsLeftToConsume >= 100 &&
f.numberOfFruitsLeftForStorage <= 100).ToList();
答案 0 :(得分:0)
第一个问题是你读的第一件事是long long
值。 Animal
只是不是。
您正在检查while(cb!=ob)
。 cb
和ob
上方的某些行都使用0
初始化。所以你的循环永远不会运行。
即使您修复了循环,下一个问题也就是您的输入不是以(
开头的。因此,在阅读Animal
后,您的循环将退出。
第三个问题是你的输出。完成后,您不会刷新cout
。
另外:为什么将long long
用于i
? std::vector::size()
返回size_t
。所以请坚持下去。
一个“简单”的解决方案是这样的:
#include<vector>
#include<string>
#include <iostream>
using namespace std;
int main()
{
int cb = 0, ob = 0;
string c;
vector<string> s;
while((ob==cb && ob==0) || ob!=cb)
{
cin >> c;
if (c == "(")
ob++;
else if (c == ")")
cb++;
s.push_back(c);
}
for (size_t i = 0; i < s.size(); i++)
{
cout << s[i];
}
cout << endl;
return 0;
}
另一件事:如果括号不匹配(无限循环或过早中断)并且不处理最后一个右括号后面的文本,则此代码将不起作用。
由于你的问题并不是真正具体的问题,我的回答只是向你展示主要问题。
我还建议您检查输入流是否有错误。