if(x==0 || x==1)改为 if(x<2),整型数字也可能小于0
另外函数中的else删除掉!(第2个一定要删除!!!第1个建议删除!)
该回答引用ChatGPT
以下是使用C语言实现输入一个不大于1000的整数,然后调用函数判断其是否为素数,最后输出结果的代码:
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
scanf("%d", &n);
if (is_prime(n)) {
printf("yes");
} else {
printf("no");
}
return 0;
}
代码中的is_prime函数用于判断一个整数是否为素数,如果是素数则返回1,否则返回0。判断素数的方法是从2开始,逐个判断是否能整除该数,如果能则该数不是素数,返回0,否则一直判断到n/2,如果都不能整除,则该数是素数,返回1。
在main函数中,首先使用scanf函数读取一个整数,然后调用is_prime函数判断该数是否为素数,最后根据判断结果输出yes或no。