程序还有一处错误是何处

程序中还有一处错误改正后为if(flag ==0)或者if(i>=k+1),请问下这处是要改正到哪一边的,万分感谢!


/*程序功能:从键盘上输入一个大于3的整数,判断该数是不是素数。*-
#include  
#include  
void prime(int n);   
void main()
  {   int m;
     printf("Please input a data m=:");
scanf("%d", &m);
     prime(m)          
}
void prime(int n)
{  
int i,k,flag=0;
  k=sqrt(n);
for(i=2;i<=k;i++)
if (n%i==0) 
{       
flag=1
break;
}
If (nprintf("%d这是一个素数",n);
else  
printf(""%d这不是一个素数",n);
}

19行,flag=1后面没分号
flag没有没有啥作用啊,你为啥要加这个变量呢?
22行改成if(flag==0)或者if(i>=k+1)

改动处见注释,供参考:

/*程序功能:从键盘上输入一个大于3的整数,判断该数是不是素数。*/
#include <stdio.h>
#include <math.h>
void prime(int n);
void main()
{   int m;
     printf("Please input a data m=:");
     scanf("%d", &m);
     prime(m); //此处缺了 ‘;’分号 修改
}
void prime(int n)
{
    int i, k, flag = 0;
    k = sqrt(n);
    for (i = 2; i <= k; i++)
        if (n % i == 0)
        {
            flag = 1; // 修改 
            break;
        }
    if (flag == 0 && n != 1) //If(n < i) 修改
        printf("%d 这是一个素数", n);
    else
        printf("%d 这不是一个素数", n); // 修改 printf("" % d这不是一个素数",n);
}