C++一个for加if循环问题

我写了一个代码,变量都是开始就定义好的!
大概是
for(;;)
{
cout<<"请输入X"endl;
cin>>x;
if(cin>>x)
{
a.push_back(x);
}
else
{
break;
};
};
for(;;)
{
cout<<"请输入y"<<endl;
cin>>y;
if(cin>>y)
{
b.push_back(y);
}
else
{
break;
};
};
x和y都是int变量!a和b是vector变量!可运行后我输入几个数字,然后输入一个Q,是退出第一个循环了,并叫我输入Y,可是,从键盘按什么都没反应了!怎么回事?

你把for循环改一下
for(;;)
{
cout<<"请输入y"<<endl;
if(cin>>y)
b.push_back(y);
else
break;
};追问

还是一样,找你的改了,跳出循环,到下一个输入那里按键盘就没反应了!

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-17
cin>>y;
if(cin>>y)
你这个地方需要两次输入y
第2个回答  2012-08-17
else语句后面的大括号末尾不需要分号

C++求教for循环和if一起使用的方法
这个其实并不适合用for,用while好点,一定要用for的话,类似于 include<stdio.h> int main() { int n;scanf("%d",&n);printf("%d ",n);for(; n!=1;) { if(n%2) n=3*n+1;else n=n\/2;printf("%d ",n);} }

C++中for语句内if的问题
如果s[i]是大写字母,第一个if不运行,经过第二个if转化为小写 如果s[i]是小写字母,第一个if运行,并将小写转化为大写,但程序继续运行,走到第二个if,满足条件,又将转化好的大写字母重新转化回小写了,所以出现了,你所说的情况 解决办法:将第二个if改为else if ...

if 里面 for 循环在第一次进入会被执行,第二次进入就不执行是什么原因...
在C++中,如果for循环嵌套在if语句中,那么无论第一个if的条件成立不成立,都要执行第二个if。for每循环一次,两个if语句都要做一次。for跟的那个语句块大括号是第一个左大括号和末尾的右大括号,所以for每次都要把两个if执行一次。如果您使用的是Python,那么可能是因为您在函数内部使用了break语句。

C++ for循环 if条件输出, 关于正方形扩展问题
大概看了下,你用了5层嵌套,如果不过滤应该是64个点,而你的if条件过滤的点最多也才8个点,因为这三个p!=0&&m!=0&&n!=0条件已经现在了只有一种情况p、n、m都为1的时候(ps:你现在是2*2*2的情况,超过2的情况下满足条件的更多)如果后面的条件成立则不输出,那么你过滤的点只和i相关,...

c++ for 循环 里面有个 if
if 是属于FOR的,如果没有括号的话只会以它的下一句关联。而if 后有{}算做一句 当你大于20的时候由于有一个return 1 自然就返回了 所以只会输出一次 不管你输多少都执行一次的 把return 1 去掉就可以了 大括号是不加分号的 对于for来说 if {}就是一句话了 ...

C++一个循环套一个循环最里面有break会跳出几个循环?
只能跳出当前层的循环,例如:for(int i = 0; i < n; ++i){ if() break; \/\/跳出i for( int j = 0; j < m; ++j){ if( ) break; \/\/只能跳出j这层。} if() break; \/\/跳出i }

c++,这个程序的for循环和if结构怎么理解?不明白
for循环用于遍历str数组中的每个元素,当遇到结束符\\0时,终止for循环。在for循环中判断元素是不是c。如果元素的值是c,将i下标后移1位,如果元素的值不是c,则将j位的值赋给i位,从而实现删除c的目的。

c++中for循环中的if里面可以用break来退出for循环么?
break在C\/C++中可以退出for循环的。看你图片中最后一个结束花括号不是对齐的for循环,你检查一下for的循环体是否正确。例如下面一个简单的例子中,直接输入5就退出循环了。include <iostream> using namespace std;int main() { cout << "test\\n";int guess=0;for(int j=0; j<99; j++){...

关于C++怎么停止循环的问题
int a;for(){ if(满足的条件){ a=那个满足的时候的值。break;\/\/跳出循环就可以了啊,可以用一个外头的值,比如a=这个要输出的值,然后在for(){} \/\/外头再输出 } } printf("%d",a);

用C++编写水仙花数(4位数的)只用一个for循环
水仙花数是一个 n 位数,其中 n 大于等于 3,它的每个位上的数字的 n 次幂之和等于它本身。对于 4 位的水仙花数,这意味着每个位上的数字的 4 次幂之和等于这个数本身。基于这个定义,下面是改写后的 C++ 代码,它使用一个 `for` 循环来寻找所有的 4 位水仙花数:```cpp include using name...

相似回答
大家正在搜