遇见.439 2023-02-25 10:34 采纳率: 100%
浏览 21
已结题

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

img


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

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2023-02-25 10:59
    关注

    if(x==0 || x==1)改为 if(x<2),整型数字也可能小于0
    另外函数中的else删除掉!(第2个一定要删除!!!第1个建议删除!)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • BitGPT 2023-02-25 10:44
    关注

    该回答引用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。

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-25 12:08
    关注
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月5日
  • 已采纳回答 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥60 PCDN如何使用宽带的电视业务通道拨号叠加带宽?
  • ¥15 遇到这种校园宽带网络应该怎么样解决?
  • ¥30 AXI VIP验证多余打印问题
  • ¥15 利用加权最小二乘法求某品牌手机价格指标,已按照总销量计算出权重,各类型号手机价格已知,如何求得价格指标?
  • ¥15 如何自制一个硬件钱包,有兴趣的朋友一起交流
  • ¥15 (关键词-聊天软件)
  • ¥15 求大家看看这个编程的编法没有思路啊
  • ¥20 WSL打开图形化程序子窗口无法点击
  • ¥15 Jupyter Notebook 数学公式不渲染
  • ¥20 ERR_CACHE_MISS 确认重新提交表单