HLYYBF 2021-09-04 01:00 采纳率: 92.9%
浏览 56
已结题

为什么代码运行显示素数只有0-10内的

#include<stdio.h>
#include<math.h>
int main()
{
int a[99],i,d,n,e=0,f=0;
printf("素数为:");
for(i=1;i<=99;i++)
{
a[i-1]=i;
d=sqrt(i);
for(n=2;n<=d;n++)
{
if(a[i-1]%n==0)
e=1;
}
if(e==0)
{
printf("%d\t",a[i-1]);
f++;
}
if(f%5==0)
printf("\n");
}
return 0;

}

  • 写回答

5条回答 默认 最新

  • 多低调 2021-09-04 08:02
    关注

    因为你的e在一次等于1之后就没有变了,所以应该把e定义在循环内,每次循环都重置为零

    img


    望采纳😘😘

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月12日
  • 已采纳回答 9月4日
  • 创建了问题 9月4日