求素数问题??
本帖最后由 mykelia 于 2013-01-27 12:08:20 编辑
#include <stdio.h>
#include <stdbool.h>
int main() {
int n, i, j;
bool flag;
scanf("%d", &n);
for(i = 2; i <= n; i++) {
printf(("%d", i));
flag = true;
for(j = 2; j * j <= i; j++) {
printf(("%d %d", i, j));
if(i % j == 0) {
flag = false;
break;
}
}
if(flag == true) {
printf("%d\n", i);
}
}
return 0;
}
哪位看看怎么回事?codeblocks 运行不了?是否逻辑出错
c
------解决方案--------------------代码没有问题,环境问题。
------解决方案--------------------
楼主要细心啊..
------解决方案--------------------printf(("%d", i));
多了一对括号,导致这是一个,表达式,从而printf的第一个参数是i。
------解决方案--------------------呃……问一下,C语言有布尔类型么??
------解决方案--------------------
------解决方案--------------------第9行和12行,printf有两个括号。
------解决方案--------------------请问一下你的编程软件是什么、我的VC6.0老是无法使用bool.
------解决方案--------------------+1,而且codeblocks 貌似默认不支持c99,stdbool.h是在c99中才引入的
------解决方案--------------------好像VC不支持C99
------解决方案--------------------printf后面括号是2对,,那样就把括号里面的类容默认为printf里面的第一个参数了
------解决方案--------------------第九行 printf(("%d", i)); 出错了,多了一个括号