用筛选法求2到100之间的素数

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
int  zhaosushu(int a[100 - 1],int n)
{
	int shusu;
	for (int i = n + 1; i < 100 - 1; i++)
	{
		if (a[i] != 0)
		{
			shusu = a[i];
			return i;
		}
	}
}
void saixuan(int b[100 - 1], int n)
{
	int m = b[n];
	for (int i = n + 1; i < 100 - 1; i++)
	{
		if (b[i] % m == 0) b[i] = 0;
	}
}

void main()
{
	int a[100 - 1],n;
	for (int i = 0; i < 100 - 1; i++)
	{
		a[i] = i + 2;
	}
	for (int j = 1; j < 100 - 1; j++)
	{
		if (a[j] % 2 == 0) a[j] = 0;
	}
	n = 0;
	while (n < 99)
	{
		n = zhaosushu(&a, n);
		saixuan(&a, n);
	}
	int i = 0;
	while (i<100-1)
	{
		if (a[i]!=0) printf("%d\n", a[i]);
		i++;
	}

	

	
	
	system("pause");

}

你可能感兴趣的:(c\c++编程)