学C有一道求小于100的所有质数并输出的题目 我写了个代码 但没有达到想要的效果 求指教 哪里出问题了
答案:3 悬赏:10 手机版
解决时间 2021-02-26 06:58
- 提问者网友:缘字诀
- 2021-02-25 22:14
main(){ int num,i,pd=1; for(num=1;num<=100;num++) { for(i=2;i<num;i++) { if(num%i==0) { pd=0; break; }} if(pd==1) printf("%d\n",num); } getch();}不考虑1的问题先
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-02-25 22:26
首先,if(num%i==0)之后,pd直接等于0,就是说出现一个非素数之后,所有的素数都输出不了
其次,for(i=2;i<num;i++)的上限可以改成sqrt(num),需要#include "math.h"
其次,for(i=2;i<num;i++)的上限可以改成sqrt(num),需要#include "math.h"
全部回答
- 1楼网友:一把行者刀
- 2021-02-25 23:47
main()
{
int num,i,pd=1;
for(num=1;num<100;num++)
{
pd =1;
for(i=1;i<=num;i++)
{
if(num%i==0)
{
pd++;
}
}
if(pd>2)
printf("%d\n",num);
}
getch();
}
}
getch();
}
不考虑1的问题先
- 2楼网友:三千妖杀
- 2021-02-25 23:35
#include<stdio.h>
int main()
{
int num,i,pd=1;
for(num=1;num<=100;num++)
{
pd=1;//初始化
for(i=2;i<num;i++)
{
if(num%i==0)
{
pd=0;
break;
}
}
if(pd==1)
printf("%d\n",num);
}
getchar();
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯