永发信息网

题目要求输出1000以内的所有质数 然后每行8个 输出 我知道F()函数错了 但是怎么改呢? 如下 感激不尽

答案:2  悬赏:40  手机版
解决时间 2021-04-12 08:19
#include <stdio.h>
#include <math.h>
int f(int x);
void main ()
{
int i,j=0;
for (i=1;i<=1000;i++)
if(f(i)==1)
{ j++;
printf("%d ",i);
if(j%8==0) printf("\n");}
}
int f(int x)
{ int m;
for(m=2;m<=sqrt(x);)
if(x%m==0) return 0 ;

else return 1;
if(x==2||x==3) return 1;
}
忘了,for循环后面是应该有m++,但是结果却输出的全部是奇数,不是质数。。。。。。
最佳答案
仔细看了一下,撇开那个m++不谈,你的问题出在:
一进去就m=2的时候,就得到结果然后return 了,刚进循环,m=2的时候
if(x%m==0) return 0 ;
else return 1;
然后就出来了,m=3,4,5...根本没用到
*********************************
int f(int x)
{ int m;
if(x==2||x==3) return 1;
for(m=2;m<=sqrt(x);m++)
{ if(x%m==0)
return 0 ; //被整除了,就不是质数,直接返回0
else
continue; //没被整除就增加m继续看
}
return 1; //最后循环结束了还没被整除,就是质数了,返回1
}
}
全部回答
if(x%m==0) return 0 ; else return 1; 然后就出来了,m=3,4,5..int f(int x) { int m; if(x==2||x==3) return 1; for(m=2;m<=sqrt(x);m++) { if(x%m==0) return 0 ; else continue; } return 1;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
飞机那么重怎可以在空中飞呢
单选题发育中的高等哺乳动物胚胎的外胚层进行
东方神起五只所有的绰号有哪些?
恐怖类的单机游戏(我要内存小点的,最好能像
我家有观音挂件和佛的挂件应放在家里什么位置
龙华阳光发电有限公司我想知道这个在什么地方
刮胡子的双关含义是什么啊?急用!
中国什么地方、什么纸最好?
怎样在Win7下设置PotPlayer才能看1080P不卡
王红祥今年多大了
DNF无色技能是什么啊?
单选题Didyourfather________goswimming
QQ好友空间显示的地理位置准吗?
果绿是什么颜色,求我的世界像素时光服务器恐
我的英语问题
推荐资讯
歌颂人物品质的句子,描写关于美好品质的合名
爱你须要求你同意吗
1号来例假,是产后第一次来的,量来特别多.五六
3D动漫 小恶鬼1和2
求三国战记119貂禅所以的技能
大学青春励志口号大全,哪位帮我想一个青春洋
我的工商卡里无缘无故多了2000块钱?
广州最有钱的人是谁
高考全国卷诗歌赏析,高考全国卷诗歌鉴赏一共
利润等一系列的如成本、利润率计算公式
万通货运部怎么去啊,有知道地址的么
爱人是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?