求100~200间的所有素数,每行打印5个素数
//main.c
//author:yangyang
#include "stdafx.h"
#define A 100
#define B 200
int main()
{
int number = 0;//存储每个数的因子的个数
int a[B] = { 0 };//5列的数组
int *pnumber = a;//数组首地址赋值给指针
int num_number = 0;//素数共多少个
for (int num = A; num <= B; num++)//挑选素数
{
number = 0;//素数个数
for (int i = 1; i <= num; i++)//循环找出所有的因子
{
int yushu = num / i;
if (yushu*i == num)//判断是否为因子
{
number++;
}
}
if (number == 2)//如果只有两个因子,就是素数,输出
{
//printf("素数为%d\n", num);
*pnumber = num;//将素数赋给指针
pnumber++;//指针地址移位
num_number++;
}
}
printf("素数个数为%d\n", num_number);
pnumber = a;//指针地址初始化
for (int i = 1;i<=num_number ; i++)
{
printf("%d ",*pnumber++);
if (i % 5 == 0)printf("\n");
if (*pnumber == 0)
{
printf("\n");
break;
}
}
return 0;
}
输出结果如图所示: