要求:
1)输入正整数n;
2)判断1-n之间有多少个素数,并输出所有素数。
3)每行输出10个素数,每个素数输出格式使用“%-5d”(宽度5位,数据左对齐);
4)最后打印该区间共有多少个素数(“%d”)。
5)绘制N-S结构流程图。
运行参考示例:
输入1:100
输出1:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
The total is 25
运行代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int n, m,i,k,h=0,flag;
//Input n
printf( "Please input n : ");
scanf( "%d", &n );
//Compute
for(m=2;m<=n;m++)
{
flag=1;
k=(int)sqrt(m+1);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
flag=0;
break;
}
}
if(flag)
{
printf("%-5d",m);
h++;
if(h%10==0)
printf("\n");
}
}
printf("\nThe total is %d\n",h);
return 0;
}
N-S结构流程图如下图所示: