c语言以下程序输入一个整数m,利用func函数判断是否为素数,如果是则输出yes,不是则输出no 多种代码书写方法
时间: 2024-02-20 17:58:12 浏览: 22
以下是几种不同的方法来实现相同的功能:
方法一:使用一个变量记录是否为素数
```c
#include <stdio.h>
int func(int n);
int main() {
int m, is_prime = 0;
printf("请输入一个整数:");
scanf("%d", &m);
if (func(m)) {
is_prime = 1;
}
if (is_prime) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
int func(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
这种方法中,我们使用一个变量 `is_prime` 记录是否为素数。如果 `func(m)` 返回值为真,则将 `is_prime` 的值设为 1,否则保持默认值 0。最后根据 `is_prime` 的值输出 "yes" 或 "no"。
方法二:直接在判断语句中调用函数
```c
#include <stdio.h>
int func(int n);
int main() {
int m;
printf("请输入一个整数:");
scanf("%d", &m);
if (func(m)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
int func(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
这种方法中,在判断语句中直接调用 `func(m)` 函数,如果返回值为真则输出 "yes",否则输出 "no"。
方法三:使用三目运算符
```c
#include <stdio.h>
int func(int n);
int main() {
int m;
printf("请输入一个整数:");
scanf("%d", &m);
printf("%s\n", func(m) ? "yes" : "no");
return 0;
}
int func(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
这种方法中,我们使用三目运算符 `? :` 来简化判断语句。如果 `func(m)` 返回值为真,则输出 "yes",否则输出 "no"。