C编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数?
时间: 2024-03-24 15:38:13 浏览: 172
好的,这是一个判断整数是否为素数的C语言程序示例:
```c
#include <stdio.h>
// 判断一个整数是否为素数
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num))
printf("%d是素数\n", num);
else
printf("%d不是素数\n", num);
return 0;
}
```
该程序中的 `isPrime` 函数用来判断一个整数是否为素数,如果是素数则返回 `1`,否则返回 `0`。主函数中先输入一个整数 `num`,然后调用 `isPrime` 函数判断 `num` 是否为素数,并输出结果。
相关问题
c语言编写一个prime()函数,判断一个正整数是否为素数,并且函数体里输出判断结果,该函数没有返回值。在主函数中输入10个正整数,调用prime()函数判断是否为素数。
以下是代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
void prime(int num) {
bool isPrime = true;
if (num <= 1) {
isPrime = false;
} else {
for (int i = 2; i < num; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
}
int main() {
int num;
for (int i = 1; i <= 10; i++) {
printf("请输入第%d个正整数:", i);
scanf("%d", &num);
prime(num);
}
return 0;
}
```
在主函数中,使用 for 循环输入 10 个正整数,每次输入一个正整数后,调用 prime() 函数判断是否为素数,并输出判断结果。prime() 函数使用 bool 类型的变量 isPrime 来记录是否为素数,使用 for 循环从 2 开始到该正整数的前一个数遍历,如果存在能够整除该正整数的数,则该正整数不是素数。最后根据 isPrime 的值输出判断结果。
请编写一个程序,完成以下的要求: 1.在文件C1.cpp中,建立程序主函数main。 主函数功能:提示用户输入一个整数(大于3),并输出该数是否为素数。 2.在文件C2.cpp中,自定义函数。 自定义函数功能:判断一个整数是否为素数,并将结果返回给主函数。
首先,我们分两步来实现这个程序。第一步是在`C1.cpp`文件中创建主函数,第二步是在`C2.cpp`文件中定义判断素数的函数。
**C1.cpp:**
```c
#include <iostream>
// 引入C2.cpp中的is_prime函数
bool is_prime(int num);
int main() {
int input;
// 提示用户输入一个整数
std::cout << "请输入一个大于3的整数: ";
std::cin >> input;
// 检查输入是否有效(大于3)
if (input <= 3) {
std::cout << "错误!请输入一个大于3的整数。\n";
} else {
// 调用is_prime函数判断素数
bool result = is_prime(input);
if (result) {
std::cout << input << " 是素数。\n";
} else {
std::cout << input << " 不是素数。\n";
}
}
return 0;
}
```
**C2.cpp:**
```c
#include "C1.cpp" // 注意这里使用包含指令而非标准的`#include <iostream>`,因为我们假设头文件在同一目录下
// 自定义函数,判断一个整数是否为素数
bool is_prime(int num) {
if (num <= 1) {
return false; // 1不是素数
}
for (int i = 2; i * i <= num; i++) { // 只需检查到√n即可
if (num % i == 0) {
return false;
}
}
return true;
}
```
现在,你需要在项目的源文件目录下分别创建这两个文件,然后编译链接它们。确保`C1.cpp`包含了对`is_prime`函数的引用,并在`main`函数中调用了它。
阅读全文