编一函数fun,功能是判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若fun返回1输出yes并打印该素数,若fun返回0输出no。
时间: 2023-05-31 08:20:53 浏览: 351
shiyan.rar_Fun_ Fun_ Fun_shiyan函数
### 回答1:
以下是一个可能的解答:
```c
#include <stdio.h>
int fun(int m) {
if (m <= 1) {
return ; // 1不是素数,小于1的数也不是素数
}
for (int i = 2; i * i <= m; i++) {
if (m % i == ) {
return ; // 如果m能被i整除,说明m不是素数
}
}
return 1; // 如果上面的循环都没有返回,说明m是素数
}
int main() {
int m;
scanf("%d", &m);
if (fun(m)) {
printf("yes\n%d\n", m);
} else {
printf("no\n");
}
return ;
}
```
这个程序中,`fun`函数接受一个整数`m`作为参数,返回一个整数。函数内部使用了一个循环来判断`m`是否是素数,如果是,返回1,否则返回。
在`main`函数中,首先读入一个整数`m`,然后调用`fun`函数来判断`m`是否是素数。如果是,输出`yes`和`m`的值;否则输出`no`。注意,题目要求输出的格式是`yes`或`no`,而不是`1`或``。
### 回答2:
要判断一个整数是否是素数,需要知道素数的定义。素数是只能被1和本身整除的正整数,因此可以编写一个函数,判断一个数是否只能被1和本身整除即可确定其是否为素数。该函数可以采用穷举法,从2到该数的一半逐一判断是否可以整除。如果整除,则说明该数不是素数,返回0;否则,该数是素数,返回1。
以下是函数的代码:
```c
int fun(int m) {
int i;
if (m <= 1) {
return 0;
}
for (i = 2; i <= m / 2; ++i) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
```
在主函数main()中,可以调用fun()函数,判断是否为素数,并输出结果。如果函数返回1,表示该数是素数,输出"yes"并打印该素数;如果函数返回0,表示该数不是素数,输出"no"。
以下是主函数的代码:
```c
int main() {
int m;
printf("请输入一个整数:");
scanf("%d", &m);
if (fun(m)) {
printf("yes,%d是素数。\n", m);
} else {
printf("no,%d不是素数。\n", m);
}
return 0;
}
```
通过以上两段代码,就可以实现判断一个整数是否是素数的功能,并输出对应的结果。
### 回答3:
素数是指只能被1和本身整除的正整数,因此判断一个数是否是素数,可以通过试除法,即将该数从2开始到该数的平方根之间的所有数都试着去除以该数,如果没有一个数能被该数整除,那么该数就是素数,否则不是素数。
因此,可以编写如下的函数fun来判断整数是否为素数:
```
int fun(int m){
if (m <= 1) {//小于等于1的数不是素数
return 0;
}
for (int i = 2; i <= sqrt(m); i++) {//从2到平方根之间试除
if (m % i == 0) {//能被整除,不是素数
return 0;
}
}
return 1;
}
```
在主函数main()中,可以调用函数fun来判断给定的整数是否为素数,并根据函数返回值输出结果:
```
int main(){
int m;
printf("请输入待判断的数:");
scanf("%d", &m);
if (fun(m) == 1) {//如果是素数,输出yes并打印该素数
printf("yes,%d是素数", m);
} else {//否则输出no
printf("no");
}
return 0;
}
```
这样就可以判断给定的整数是否为素数,并输出相应的结果。
阅读全文