用c语言写一个判定素数的函数,在主函数输入一个整数,输出是否素数的信息。
时间: 2023-06-25 21:04:15 浏览: 56
以下是用C语言编写的判断素数的函数:
```c
#include <stdio.h>
int isPrime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
```
代码中,isPrime函数用于判断一个整数n是否为素数。如果n小于等于1,则返回0;否则从2开始遍历到n的平方根,查找是否有n的因子。如果找到了,则返回0,否则返回1。主函数中,先读入一个整数n,然后调用isPrime函数判断是否为素数,并输出相应的信息。
相关问题
用c语言写一串主函数输入一个大于2的整数,定义子函数判定其是否为素数,在主函数中输出判定结果。
好的,下面是代码:
```c
#include <stdio.h>
int isPrime(int n);
int main() {
int num;
printf("请输入一个大于2的整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
int isPrime(int n) {
int i;
if (n <= 2) {
return 0;
}
for (i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
主函数中先输入一个大于2的整数,然后调用子函数isPrime判断是否为素数。isPrime函数中通过遍历2到n-1的所有数字,如果有一个能整除n,就说明n不是素数。如果遍历完了所有数字都没有能整除n的,就说明n是素数。最后在主函数中输出判断结果。
. 程序设计题 编写一个函数,判定一个整数是否是素数。编写主程序,输入两个整数,输出这两个整数之间的所有素数,要求每行输出6个。用c++语言
Certainly,下面是回答你的问题:
对于C语言,以下是判断整数是否为素数的代码:
```
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
int i = 2;
int sqrtn = sqrt(n);
while (i <= sqrtn) {
if (n % i == 0) {
return false;
}
i++;
}
return true;
}
int main() {
int start, end;
printf("请输入两个整数,用空格隔开:\n");
scanf("%d %d", &start, &end);
int count = 0;
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%-6d", i);
count++;
if (count % 6 == 0) {
printf("\n");
}
}
}
printf("\n");
return 0;
}
```
这段代码中,我们首先定义一个 `is_prime()` 函数,用来判断一个整数是否为素数。然后在 `main()` 函数中输入起始和结束整数,遍历这两个整数之间的所有整数,如果是素数则输出,每行输出6个。
希望这可以回答你的问题!如果你还有其他问题,随时问我。