请设计一个函数fun(),它的功能是:判断x是否是素数。若x是素数,返回1;若不是素数,返回0。x的值由主函数从键盘读入,不能使用rang
时间: 2024-02-16 18:03:39 浏览: 30
好的,可以使用以下代码实现:
```c
#include <stdio.h>
int fun(int x) {
if (x <= 1) {
return 0;
}
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int x;
printf("请输入一个整数:");
scanf("%d", &x);
if (fun(x)) {
printf("%d是素数\n", x);
} else {
printf("%d不是素数\n", x);
}
return 0;
}
```
在函数`fun`中,我们首先判断`x`是否小于等于1,如果是,那么它不是素数,返回0。否则,我们循环从2到$\sqrt{x}$,判断其是否是`x`的因子,如果是,那么`x`不是素数,返回0。如果循环结束后都没有返回0,那么说明`x`是素数,返回1。
在主函数中,我们读取用户输入的整数`x`,调用`fun`函数判断其是否是素数,并输出相应的结果。
相关问题
请设计一个函数fun(),它的功能是:判断x是否是素数。若x是素数,返回1;若不是素数,返回0。x的值由主函数从键盘读入。c语言
以下是C语言实现:
```c
#include <stdio.h>
int fun(int x) {
// 判断x是否是素数
for (int i = 2; i < x; i++) {
if (x % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main() {
int x;
printf("请输入一个整数:");
scanf("%d", &x);
if (fun(x)) {
printf("%d是素数", x);
} else {
printf("%d不是素数", x);
}
return 0;
}
```
在该实现中,我们首先定义了一个名为`fun`的函数,该函数的参数是一个整数`x`,返回值为整型。在函数内部,我们使用循环遍历`2`到`x-1`之间的整数,判断是否能整除`x`。如果存在能整除`x`的整数,说明`x`不是素数,返回`0`。如果不存在能整除`x`的整数,说明`x`是素数,返回`1`。
在`main`函数中,我们从键盘读入一个整数`x`,然后调用`fun`函数进行判断。如果`fun(x)`返回值为`1`,说明`x`是素数,输出`x是素数`;否则,输出`x不是素数`。
用c语言设计一个函数fun()功能是:判断x是否是素数。若x是素数,返回1;若不是素数,返回0。x的值由主函数从键盘读入。
好的,下面是代码实现:
```c
#include <stdio.h>
int fun(int x) {
int i;
if (x <= 1) { // 小于等于1的数都不是素数
return 0;
}
for (i = 2; i * i <= x; i++) { // 判断从2到x的平方根之间的数是否能整除x
if (x % i == 0) {
return 0; // 能整除说明不是素数,返回0
}
}
return 1; // 如果没有能整除的数,说明是素数,返回1
}
int main() {
int x;
printf("请输入一个正整数:");
scanf("%d", &x);
if (fun(x)) {
printf("%d是素数\n", x);
} else {
printf("%d不是素数\n", x);
}
return 0;
}
```
输入一个正整数,如果是素数就输出“x是素数”,否则输出“x不是素数”。