请问这里的6行 15行 19行哪里错了

#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;

}
请问这里的6行 15行 19行哪里错了

6行_Bool类型是C99新增的,如果你的编译器是老版本需要改成int类型
15行 flag = 0之后少了(;)分号

for (i = 2; i < num / 2; i++) 应该是 i <= num / 2 或者 i*i <= num

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>

int main()
{
    int i, num;
    int flag = 1; //_Bool类型是C99新增的,如果你的编译器是老版本需要改成int类型

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

    for (i = 2; i <= num / 2; i++) 
    {
        if (num % i == 0)
        {
            flag = 0; //少了(;)分号
        }
    }

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

    return 0;
}

img

代码看不到行数,你截图看下报错情况。

6行 15行 19行的话 顶破天也就中括号不对称的问题吧