#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <malloc.h>
#include<stdlib.h>
#include<time.h>
#include <string.h>
int ConfirmPrime(int a)
{
switch (a)
{
case 0: return 0;
case 1:return 0;
case 2:return 1;
default:
for (int i = 2; i < a; i++)
{
if (a % i == 0)
{
return 0;
}
}
return 1;
}
}
void GetPrimeFactor(int a)
{
for (int i = 2; i <= a; i++)
{
while (a % i == 0)
{
a /= i;
printf("%d ", i);
}
}
}
void main()
{
int a, i;
int* myArray;
printf("请输入想创建的数组的元素个数:");
scanf("%d", &a);
myArray = (int*)malloc(sizeof(int) * a);
srand(time(NULL));
printf("随机生成的数组中元素如下:");
for (i = 0; i < a; i++)
{
myArray[i] = rand() % 110 + 1;
printf("%d ", myArray[i]);
}
printf("\n===============================================================\n");
for (int j = 0; j < a; j++)
{
switch (ConfirmPrime(myArray[j]))
{
case 0:printf("%d不是素数,分解质因数结果如下:", myArray[j]);GetPrimeFactor(myArray[j]); printf("\n\n"); break;
case 1:printf("%d是素数,分解质因数结果如下:1 ", myArray[j]);GetPrimeFactor(myArray[j]); printf("\n\n"); break;
default:break;
}
}
}
C语言 随机生成动态元素个数的数组,判断各元素是否为素数并分解质因数
于 2022-06-13 18:38:33 首次发布