阅读量:0
要求n个数中素数的个数,可以按照以下步骤进行:
首先定义一个函数
isPrime
,用于判断一个数是否为素数。判断方法可以从2开始,依次判断该数是否能被2到sqrt(n)之间的数整除,如果存在能整除的数,则该数不是素数;否则,该数是素数。在主函数中,先读入一个整数n,表示接下来要输入n个数。
使用一个循环,读取n个数,将每个数都调用
isPrime
函数进行判断。如果返回结果为真,则素数个数加1。输出素数个数。
以下是代码示例:
#include <stdio.h> #include <math.h> int isPrime(int num) { if (num <= 1) { return 0; } for (int i = 2; i <= sqrt(num); i++) { if (num % i == 0) { return 0; } } return 1; } int main() { int n, count = 0; printf("请输入个数n:"); scanf("%d", &n); printf("请输入%d个数:", n); for (int i = 0; i < n; i++) { int num; scanf("%d", &num); if (isPrime(num)) { count++; } } printf("素数个数:%d\n", count); return 0; }
注意:在上述代码中,我们使用了math.h
头文件中的sqrt函数,需要在编译时链接数学库,例如使用gcc
编译时可以加上-lm
选项:gcc -o prime prime.c -lm
。