纠错,纠错,纠错,。

 

= =错误太多辣...

  1. 最重要的,单词拼写错误,比如main,include;
  2. 还有一点,自定义的函数不应该在主函数内,应该在主函数前定义;
  3. 判断是不是质数的if条件写反了,按照你的程序,如果n为质数的话,返回的是0,但是在主函数里面,返回值为1才是质数
  4. fun(x)函数内的循环会给你的yes反复赋值

所以建议再看看课本,以下是按照你的要求修改的代码:

#include <stdio.h>
#pragma warning(disable:4996);     //这一行可以要也可以不要

int fun(int n)
{
	int k;
	for (k = 2; k <= n / 2; k++)
		if (n%k == 0)	
			return 1;	

	return 0;
}

int main()
{
	int x;
	printf("输入\n");
	scanf("%d", &x);
	if (fun(x))
		printf("是质数");
	else
		printf("不是质数");
	return 0;
}

 

#include<stdio.h>

int main(){
    int x;
    printf("Enter a integet number:");
    scanf("%d",x)
    if (fun(x))
        printf("%d is prime\n", x);
    else
        printf("%d is not prime\n", x);
    return 0;
}
int fun(int n){
    int k,yes;
    for(k=2; k<=n/2;k++){
        if (n%k==0) {
            yes=0;
            break;
        }
        else yes=1;
    }
    return yes;
}