c语言编程:判断一个正整数是否为素数的函数 测试输入:41 13 2 32 9 7 6 30 5 8 预期输出: 41 是素数. 13 是素数. 2 是素数. 32 不是素数. 9 不是素数. 7 是素数. 6 不是素数. 30 不是素数. 5 是素数. 8 不是素数.
时间: 2024-02-22 21:57:57 浏览: 135
好的,以下是判断正整数是否为素数的C语言函数代码:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
if (num <= 1) {
return 0;
} else {
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int num;
while (scanf("%d", &num) != EOF) {
if (isPrime(num)) {
printf("%d 是素数.\n", num);
} else {
printf("%d 不是素数.\n", num);
}
}
return 0;
}
```
你可以通过输入多个正整数来测试该函数,例如输入:41 13 2 32 9 7 6 30 5 8,预期输出就是:41 是素数. 13 是素数. 2 是素数. 32 不是素数. 9 不是素数. 7 是素数. 6 不是素数. 30 不是素数. 5 是素数. 8 不是素数.
相关问题
C语言函数:编写一个函数prime,判断一个正整数是否为素数,如果是素数,函数返回1,否则返回0。在主函数中输入一个正整数,调用prime判断它是否为素数并输出。
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int prime(int n); // 函数声明
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (prime(n))
printf("%d是素数\n", n);
else
printf("%d不是素数\n", n);
return 0;
}
int prime(int n)
{
int i;
if (n <= 1) // 1不是素数
return 0;
for (i = 2; i * i <= n; i++) // 循环判断能否被整除
{
if (n % i == 0)
return 0;
}
return 1; // 是素数
}
```
在上述代码中,prime函数接受一个正整数作为参数,然后使用循环判断该数是否为素数。循环从2开始到该数的平方根,如果该数能被整除,那么它就不是素数。在主函数中,我们输入一个正整数,调用prime函数进行判断,最终输出结果。
写一个c语言程序:输入n个正整数,输出其中的素数。
好的,以下是一个从输入n个正整数中筛选出素数的C语言程序:
```c
#include <stdio.h>
int main() {
int n, i, j, num[100], flag;
printf("请输入要输入的正整数个数:");
scanf("%d", &n);
printf("请输入%d个正整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &num[i]);
}
printf("筛选出的素数有:");
for (i = 0; i < n; i++) {
flag = 0;
for (j = 2; j <= num[i] / 2; j++) {
if (num[i] % j == 0) {
flag = 1;
break;
}
}
if (num[i] == 1) {
continue;
}
else {
if (flag == 0) {
printf("%d ", num[i]);
}
}
}
printf("\n");
return 0;
}
```
程序流程如下:
1. 提示用户输入要输入的正整数的个数。
2. 通过scanf函数读取用户输入的正整数个数。
3. 提示用户输入n个正整数,并通过循环读取到num数组中。
4. 循环遍历num数组中的每一个数,判断是否是素数,如果是素数则输出该数。
5. 如果该数是1,则跳过该数的判断。
6. 输出筛选出的素数。
希望能帮到您!
阅读全文