输入10个正整数(数值小于100到一维数组中,找出这10个数中的所有素数 并输出。
发布网友
发布时间:2023-06-26 10:22
我来回答
共1个回答
热心网友
时间:2023-10-17 13:05
#include <stdio.h>
#include <conio.h>
#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/
int main (void) {
elemType arr[ARR_LEN];
//elemType arr[ARR_LEN] = {3,5,1,7,4,9,6,8,10,4};
int len = 10;
int isPrime;
int i, j;
for (i=0; i<len; i++)
scanf ("%d", &arr[i]);
putchar ('\n');
for (i=0; i<len; i++) {
isPrime = 1;
/* 试除法判定i是否为素数 */
/* 若i能被2~i^1/2(i的平方根)之间的任一自然数整除,则i不是素数 */
for (j=2; j*j<=arr[i]; j++)
if (arr[i]%j == 0) { /* 能被整除 */
isPrime = 0; /* i不是素数 */
break; /* 结束判定 */
}
if (isPrime) /* i是素数 */
printf ("%d\t", arr[i]); /* 打印i */
}
getch (); /*屏幕暂留*/
return 0;
}