|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 流泪的小鳄鱼 于 2018-9-24 21:27 编辑
#include <stdio.h>
int fun(int y) //判断x是不是素数
{
int i,b,a;
for(i = 2;i <= (int)(y/2);i ++)
{
if(y % i == 0)
{
a = 0; //不是素数
b = 0;
break;
}
}
if(b)
{
a = 1; //是素数
}
return (a);
}
int main()
{
int x = 10000,s;
// printf("请输入一个正整数:");
// scanf("%d",&x);
for(s = 2; s <= x; s++)
{
if(fun(s) == 1) //确定数是不是素数,是为1,则计数
printf("%d ",s);
}
return 0;
}
,这个程序的逻辑是先判断其是否为素数,若是,另a为1,则打印该数,反之无行为,但就很怪,在这里面我定义了一个函数判定某数是否为素数,这个函数单独运行可以,但是糅合进去经调试发现当跑到5的时候就变成不是素数了,求大神赐教
本帖最后由 claws0n 于 2018-9-23 20:59 编辑
- #include <stdio.h>
- int fun(int y)
- {
- int i;
-
- for(i = 2;i <= (y/2); i++)
- {
- if(y % i == 0)
- {
- return 0;
- }
- }
- return 1;
- }
- int main()
- {
- int x = 10000, s;
- // printf("????????:");
- // scanf("%d",&x);
- for(s = 2; s <= x; s++)
- {
- if(fun(s) == 1)
- printf("%d ",s);
- }
- return 0;
- }
复制代码
|
|