【发布时间】:2014-01-15 21:47:42
【问题描述】:
我正在尝试打印出从用户那里获得的特定值的素数。如果我只收到 1 的答案,我想我的 for 循环有问题吗?
#include <stdio.h>
#include <cs50.h>
int main (void)
{
printf("Length: ");
int length = GetInt();
bool notPrime = false;
for (int i = 1; i < length; i++)
{
for (int k = 1; k <= i/2; k++)
{
if (i % k == 0)
{
notPrime = true;
break;
}
else
{
notPrime = false;
}
}
if (notPrime == false)
{
printf("%d ", i);
}
}
printf("\n");
}
【问题讨论】:
-
这对于至少前几个值的笔和纸调试应该不会太难。你试过吗?这告诉了你什么?
-
能否请您澄清一下您的问题是什么?