weixin_45631165
weixin_45631165
采纳率81.8%
2019-10-12 14:49

求1到100之间所有奇数的个数,请大神帮忙看看哪里出了问题?

已采纳

include

include

int main(void)
{
int i, j = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if ("i%2!=0")
j=j++;
}
printf("%d", j);
system("pause");
return 0;
}

最后输出为100,请问哪里不对?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • lijiayao1234 lijiayao1234 2年前

    if ("i%2!=0") 永远都是真

    点赞 评论 复制链接分享
  • qtchen_1988 qtchen_1988 2年前
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(void)
    {
        int i;
        int sum = 0;
        for (i = 1; i <= 100; i++)
        {
            if((i%2) != 0)
                sum += i;
        }
        printf("%d\n", sum);
        system("pause");
    
        return 0;
    }
    
    
    点赞 3 评论 复制链接分享
  • luoxueguihan luoxueguihan 2年前

    #include
    int main(void)
    {
    int i, j = 0;
    int sum = 0;
    for (i = 1; i <= 100; i++)
    {
    if (i%2!=0)//1.if("i%2!=0")这里是错的,加上双引号就成了字符串
    j++;//2.j=j++这个式子有问题,j++就相当于j=j+1
    }
    printf("%d\n", j);
    return 0;
    }

    点赞 2 评论 复制链接分享
  • xcy450922873 xcy450922873 2年前

    if ("i%2!=0")
    j=j++;
    }

    当为奇数时,你的操作是应该改成sum=sum+i;
    if(i%2!=0){
    sum=sum+i;
    }

    点赞 2 评论 复制链接分享
  • zz00217 空白如空 2年前
    #include<stdio.h>
    #include<math.h>
    
    int main(void)
    {
        int i, j = 0;
        int sum = 0;
        for (i = 1; i <= 100; i++)
        {
            if ( "i%2!=0") //错误
                j=j++;  //错误
        }
        printf("%d", j);
        return 0;
    }
    

    正确代码

    #include<stdio.h>
    #include<math.h>
    
    int main(void)
    {
        int i, j = 0;
        int sum = 0;
        for (i = 1; i <= 100; i++)
        {
            if (i%2!=0)
                sum+=i;
        }
        printf("%d", sum);
        return 0;
    }
    
    
    点赞 1 评论 复制链接分享