C语言编程

. 编写一个判断素数的函数ifp。在主函数中调用该函数,输出整型数组a[10] 中的每个素数,并统计素数的个数和所有素数的和。

#include <stdio.h>
#include <conio.h>

#define ARR_LEN 255 /*数组长度上限*/

/* 试除法判断素数 */
/* 大于1的自然数num,若其不能被2~num^1/2(num的平方根)之间的任一自然数整除,则其为素数 */
/* num是素数返回1,否则返回0 */
int isPrime (int num) {
int i;
if (num <= 1) /* 素数必须是大于1的自然数 */
return 0;
if (num%2==0 && num!=2) /* 除2之外的偶数显然不是素数 */
return 0;
for (i=2; i*i<=num; i++)
if (num%i == 0)
return 0;
return 1;
}

int main (void) {
int arr[ARR_LEN] = {3,5,1,7,4,9,6,8,10,4};
int len = 10;
int primeSum = 0, primeCnt = 0;
int i;

printf ("素数:");
for (i=0; i<len; i++) {
if (isPrime (arr[i])) {
printf ("%d ", arr[i]); 
primeSum += arr[i];
primeCnt++;
}
}
putchar ('\n');
printf ("素数累加和:%d\n素数个数:%d\n", primeSum, primeCnt);

getch (); /*屏幕暂留*/
return 0;
}

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