您好,我正在学习 C 编程课程介绍的测试,昨天我试图编写这个程序来打印 2 和用户输入的任何数字之间的偶数素数,我花了大约 2 个小时试图正确地编写它和最终我做到了。我在下面上传了 2 张图片。其中之一显示正确的代码和正确的输出。另一个显示了我对无法正常工作的问题的第一次尝试,我返回并使其与工作代码尽可能相似,而无需直接复制和粘贴所有内容。
不幸的是,不允许新用户发布图片,希望下面的这些链接可以正常工作。
这失败了,它不会用自然平方根打印范围内的所有数字:
for (i = 2; i <= x; i++)
{
//non relevant line
a = sqrt(i);
aa = a * a;
if (aa == i);
printf("%d ",i);
}
来源:http: //i.imgur.com/WGG6n.jpg
虽然这成功了,并用自然平方根打印偶数
for (i = 2; i <= x; i++)
{
a = sqrt(i);
aa = a * a;
if (aa == i && ((i/2) *2) == i)
printf("%d ", i);
}
来源:http: //i.imgur.com/Kpvpq.jpg
希望你能看到并阅读我在这里的屏幕截图。我知道“不正确的代码”图片没有 (i/2)*2 == i 部分,但我认为它仍然会打印奇数和偶数,它还有计算“sqrd”的代码但是这不应该影响输出。如果我在最后一部分错了,请纠正我。
是的,我正在使用我读过的 Dev-C++,这有点糟糕,但我最初是在 code::blocks 上这样做的,它做了同样的事情......
请我非常感谢任何关于我在实际让该死代码为我工作之前 2 小时做错了什么的建议或建议。
谢谢你,亚当