C语言:判断是否为素数,并且打印素数表

    /*
    构造素数表, 只需要用数字除以已经判断出来的数是否能整除就行,
    不需要除以这个数之前所有的数字,
    前提是这个数除以的素数是要比他自己小的 
    */

注意一点:int a[number] = {2,};//先把2给赋初值进去,因为2也算素数,能被1和本身整除而已

还有一点需要注意的是,在输出的时候记得输出的美观性,养成良好习惯。 

代码如下:

#include<stdio.h>
#define number 50  //存储五十个素数 
int isPrime(int, int[], int);
int main()
{
	
	int i, j; 
	int a[number] = {2,};
	int count = 1;
	for(i = 3; count < number; i++)
	{
		if(isPrime(i, a, count))
		{
			a[count++] = i;
		}
	 }
	 int c = 1;
	 for(i = 0; c != 1 , i < count; i++)
	 {
	 	printf("%-4d", a[i]);
	 	if(c % 5 == 0)
	 	{
	 		printf("\n");
		 }
		 c++;
	 }
	
	return 0;
}

int isPrime(int num, int knowprime[], int length)
{
	int ret = 1, i;
	for(i = 0; i < length; i++)
	{
		if(num%knowprime[i] == 0)
		{
			ret = 0;
			break;
		}
	}
		return ret;
}

运行结果如下:(我是控制了一个输出50个素数的素数表)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹等寒

谢过道友支持,在下就却之不恭了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值