C语言程序编程:输出100到200间的全部素数,每行输出5个素数。

如题所述

1、打开VC2010后的界面。

2、点击文件--->新建--->项目。点击 32位控制台应用程序 输入名称

3、以上完成后,再点左击C1后,右击源文件,——>添加——>新建项。

4、再选择c++文件,文件名称,现在都可以写程序了。

5、#define max 100   宏定义max=100。

6、最后运行结果如下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03
首先来理解素数的概念:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29…………
这些除了他本身和1不能被任何其他数字整除的数字叫做“素数”,又叫“质数”。
那么编程思路就有了:
那么我们在外面再加一圈循环n,让 n 的取值范围在 100 <= n <= 200 之间,然后嵌套:
让 i 在 1 < i < n 的范围内进行循环,然后用 n % i,如果途中发现有非 0 的值,则表示该值非质数,让s = 1终断循环。
在循环的最后,判断 s :如果 s 的值为0,则输出n。
然后(还是在循环内)判断n的值:若 n % 5 结果为4,则输出"\n"。

这就是全部的算法,我已经写得很详细了 - -本回答被提问者采纳
第2个回答  2011-11-11
#include <stdio.h>

int main()
{
int i, j;
int flag, count = 0;
for (i = 100; i <= 200; i++)
{
flag = 1;
for (j = 2; j * j <= i; j++)
if (i % j == 0)
{
flag = 0;
break;
}
if (flag)
{
printf("%d ", i);
count++;
}

if (count == 5)
{
printf("\n");
count = 0;
}
}
return 0 ;
}
第3个回答  2011-11-11
#include <stdio.h>
#include <math.h>
int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=100; i<=200; i++)
if(ss(i))
{
j++;
printf("%5d",i);
if (j%5==0) printf("\n");
}
printf("\ntotal prime=%d\n",j);
return 0;
}
第4个回答  2011-11-11
#include "stdio.h"
main()
{ int m,i,k,h=0,leap
for(m=100;m<=200;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {
printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
}
printf("\nThe total is %d\n",h);
system("PAUSE");
}