输入10个正整数(数值小于100到一维数组中,找出这10个数中的所有素数 并输出。

如题所述

#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;
}

温馨提示:答案为网友推荐,仅供参考