以下是一個用C語言編寫的判斷素數的函數:
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("請輸入一個正整數:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素數\n", num);
} else {
printf("%d不是素數\n", num);
}
return 0;
}
這個函數使用了一個布爾類型的返回值,isPrime函數接受一個整數作為輸入,判斷該數是否為素數。如果是素數,返回true,否則返回false。
函數中的循環從2開始,依次判斷從2到n的平方根之間的所有數能否整除n。如果存在可以整除n的數,則說明n不是素數,返回false;如果循環結束都沒有找到可以整除n的數,則說明n是素數,返回true。
在主函數中,首先獲取用戶輸入的一個正整數,然后調用isPrime函數判斷該數是否為素數,最后根據返回值輸出判斷結果。