赞
踩
思路分析:
首先我们要清楚什么是素数。
一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数叫素数;
然后我们需要考虑怎样实现100——1000之间素数的输出,是不是需要用到遍历,而for循环就是一种遍历。那怎么写for循环呢?
很显然,一个for循环是不够的,因为要用for循环判断需要两个变量。
在这里我们定义一个i,j,i表示被除数,j表示除数,如果i%j==0&&i!=j,那说明i不是素数,反之则是素数,由于100-1000之间 的素数比较多,我们还要控制一行几个一输出,我们定义一个k用于统计素数的个数,这里我选择10个一行,表达式为:
if (k % 10== 0 )
{
printf(" \n");
}
每当k到了10的倍数时自动换行,这样就能控制一行10个,当然最后一行除外(最后一行不够10个数不会换行,但是前面的能保证10个一行)
#define _CRT_SECURE_NO_WARNINGS 1
//防止visual studio2013以上版本scanf报错,vc6.0环境可忽略
#include<stdio.h>
int main()
{
int i, j, k=0;
printf("100-1000之间 素数为:\n");
for (i = 100; i <= 1000; i++)
{
for (j = 2; j <= i; j++)
{
if (i % j == 0 && i != j)
{
break;
}
if(i==j)
{
printf(" %d",i);
k++;
if (k % 10== 0 )
{
printf(" \n");
}
}
}
}
printf("\n");
printf("100-1000之间的素数为:%d个\n",k);
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。