求解||打印出从1-n的所有素数?c语言?

原题是这样的

1)输入正整数n;

    2)判断1-n之间有多少个素数,并输出所有素数。

    3)每行输出10个素数,每个素数输出格式使用“%-5d”(宽度5位,数据左对齐);

    4)最后打印该区间共有多少个素数(“%d”)。

下面是我写的代码,请问哪里出问题了/?

#include<stdio.h>
#include<math.h>
int main ( )
{
    int a,n,i,k,m=0;
    scanf("%d",&a);
     for(n=1;n<=a;n+=2)
     {
         k=sqrt(n);
         for(i=2;i<=k;i++)
             if(n%i==0)break;
         if(i>=k+1)
         {
             printf("%-5d",n);
             m=m+1;
         }
         if(m%10==0)printf("\n");
     }
     printf("\n");
     printf("The total is %-5d\n",m);
     return 0;
}

 

查看全部
alexhek
Babylanyon
2020/11/29 20:20
  • c语言
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复