求素数,这么简单为什么一直报错(语言-c语言)

img


输入一个不大于1000多整形数字,然后利用调用函数判断其是否是一个素数。请严格按要求输出。

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。