黑月黄龙 发表于 2021-10-23 17:26:41

提问

#include <stdio.h>

int main()
{
        int i,num;
        _Bool flag=1;
       
        printf("请输入一个整数:");
        scanf("%d",&num);
       
        for(i=2;i<num/2;i++)
        {
                if(num%i==0)
                {
                        flag=0;
                }
        }
        if(flag)
        {
                printf("%d是一个素数!\n",num);
        }
        else
        {
                printf("%d不是一个素数!\n",num);
        }
        return 0;
}


Bool那里错了?

傻眼貓咪 发表于 2021-10-23 17:44:16

本帖最后由 傻眼貓咪 于 2021-10-23 17:53 编辑

没有错啊,我运行你的代码没有问题
试试这个代码吧,我稍微改一点:#include <stdio.h>
#include <stdbool.h>

int main()
{
    int num;
    bool flag = true;

    printf("请输入一个整数:");
    scanf_s("%d", &num);

    for (int i = 2; i < num / 2; i++) flag = num % i == 0 ? false : true;

    if (flag) printf("%d 是一个素数!\n", num);
    else printf("%d 不是一个素数!\n", num);

    return 0;
}
页: [1]
查看完整版本: 提问