任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现:排序用函数实现

define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include

#define N 20
int count = 0 ,k=0,b[N];
void bubblesort(int *p2)//从小到大排序
{
	for (int i = 0; i < k; i++)
		for (int j = k - 1; j >= i; j--)
		{
			if (*(p2 + j - 1)>*(p2 + j))
			{
				static int m = 0;
				m = *(p2 + j - 1);
				*(p2 + j - 1) = *(p2 + j);
				*(p2 + j) = m;
			}
		}
		if (k == 0) printf("产生的数据中没有素数\n");
		for (int i = 0; i< k; i++)
		{
			printf("%-3d", *(p2 + i));
		}
}
int judgeprime(int *p1)
{
	for (int i = 0; i < N; i++)
	{
		count = 0;
		for (int j = 2; j < *(p1 + i); j++)
		{
			if (*(p1 + i) % j == 0)
			{
				count = 1;
				break;
			}
		}
		if (count == 0&&*(p1+i)>1) b[k++]=*(p1+i);
	}
	return b;

}
void main()
{
	srand((unsigned)time(NULL));
	int a[N] = { 
		rand() % 100, rand() % 100, rand() % 100, rand() % 100, rand() % 100,
		rand() % 100, rand() % 100, rand() % 100, rand() % 100, rand() % 100,
		rand() % 100, rand() % 100, rand() % 100, rand() % 100, rand() % 100,
		rand() % 100, rand() % 100, rand() % 100, rand() % 100, rand() % 100,
	};

	
	/*int a[N] = { 5, 6, 3, 4, 7, 8, 9, 10, 11, 12, 2, 13 ,14,15};*/
	int *p=judgeprime(a);
	bubblesort(p);
	system("pause");
}

任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现:排序用函数实现_第1张图片

任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现:排序用函数实现_第2张图片

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