永发信息网

入门级C语言题,输入两个正整数a和b(a<b),输出在[a,b]区间内的所有素数的个数。

答案:4  悬赏:40  手机版
解决时间 2021-03-12 08:08
答案总是不正确,到底是哪里有问题啊?

#include
#include
int main()
{
int a,b,c=0,d,e=0;

scanf("%d%d",&a,&b);

for(int i=a;i<=b;i++){
for(d=2;d<=i-1;d++){
if(i%d){
e++;

}
if(!(e-i+2)){
c++;
}

}

}
printf("%d\n",c);
system("pause");
}
最佳答案
scanf("%d%d",&a,&b);

if(!(e-i+2))
全部回答
素数:有无限个,除了1和它本身以外不再有其他的因数。所以可以通过for循环从2到n-1依次整除n如果能整除则不是素数,否则就是素数。 参考代码: #include  int fun(int n){//判断n是否是素数  int i; for(i=2;i
  • 2楼网友:笑迎怀羞
  • 2021-03-11 14:57
#include #include int main() { int a,b,c=0,d,e=0; scanf("%d%d",&a,&b); for(int i=a;i<=b;i++){ if(i==2) { c++; } else { for(d=2;d<=i-1;d++) { if(i%d==0) break; } if(d==i) c++; } } printf("%d\n",c); system("pause"); return 0; }
  • 3楼网友:纵马山川剑自提
  • 2021-03-11 14:07
#include #include int main() { int a,b,c=0,d,e=0; scanf("%d%d",&a,&b); for(int i=a;i<=b;i++){ for(d=2;d<=i-1;d++){ if (i%d) break; if (i==d) c++; } } printf("%d\n",c); system("pause"); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯