【发布时间】:2014-01-27 11:59:50
【问题描述】:
我最近才开始自学 C++。我遇到了这个问题:
打印出 1 到 100 之间不能被 3、5 或 7 整除的所有整数。
我在两个不同的测试中同时使用了for 和while 循环,for 循环工作正常,但是下划线在while 循环的两个循环之后一直闪烁。我不小心asked this on the wrong SE site时附上了图片。
为什么会这样?
for循环
#include <iostream>
using namespace std;
int main()
{
int i=1;
for(i=0;i<=100;i++)
{
if(i%3==0||i%5==0||i%7==0)
{
continue;
}
cout<<i<<" ";
}
return 0;
}
while 循环
#include <iostream>
using namespace std;
int main()
{
int i=1;
while(i<=100)
{
if(i%3==0||i%5==0||i%7==0)
{
continue;
}
cout<<i<<" ";
i++;
}
return 0;
}
【问题讨论】:
-
快速评论,在您的第一个循环中,在 for 循环之前声明
int i = 1是没有意义的,因为您只是在之后直接将值重新分配为 0。只需输入for(int i=1; i<=100; i++)。 -
在 continue 语句之前的 while 循环中,您必须将 i 的值增加 1,但您没有增加,因为程序进入无限循环
标签: loops visual-c++ for-loop while-loop