纠结
沈怀鹏 核心会员 2015-12-31 16:26:12
2838 5 0

#include <stdio.h>


 main()

{

    int n;

    printf("请输入一个整数");

    scanf("%d",&n);


    if ( n < 2 )

        printf("合数\n");

    if ( n == 2 )

        printf("素数\n");

    for ( int d=2; d < n; d++)

    {

        if ( n % d ==0 )

           printf("合数\n");

    }

           printf("素数\n");

    return;


}

这是我写的判断素数的代码,可是老报错,我也不知道错在哪了,求助

问题来自: for循环实例

共 5 个回答

    嘿嘿大人 一代宗师 3045天前

    把return去掉试一试

    沈怀鹏 核心会员 3041天前

    把return去掉了还是在for那里报错

    error: 'for' loop initial declarations are only allowed in C99 mode|


    最佳答案

    嘿嘿大人 一代宗师 3041天前

    回复 沈怀鹏:定义变量的必须在所有语句之前,不能在程序中间的,改为:

    #include <stdio.h>




     main()


    {


        int n,d;


        printf("请输入一个整数");


        scanf("%d",&n);



        for ( d=2; d < n; d++)


        {


            if ( n % d ==0 )


    {

    printf("合数\n");

    break;

    }


        } if(d==n)

    printf("素数\n");

            if(n==1)

    printf("不是合数也不是素数\n");





    }

    还有一些合数的判断条件也是错了的,1既不是合数也不是素数;还有你最后那个printf(“素数\n”),这个语句是无论如何都会执行的,明显就不满足你的要求,所以给你稍微改了下,你试一试吧,嘿嘿

    沈怀鹏 核心会员 3041天前

    回复 嘿嘿大人:这次能用了,谢谢昂。

    嘿嘿大人 一代宗师 3041天前

    回复 沈怀鹏:主要是你以前的代码逻辑都是有问题的,你要能找到问题,不然错误还是会犯的,不用谢,加油吧,嘿嘿

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题