Jiraiya981 2022-01-27 21:30 采纳率: 100%
浏览 18
已结题

为什么这样写他 输出结果就直接从1排列到100了

#include<stdio.h>
int main()
  {
     int a=1;
     int b = a % 2;
     while (a <= 100)
       {
        if(b==1)
        printf("%d  ", a);
        a++;
       }
 return 0;
}

我要的是输出1~100之间的奇数啊。为什么这样写他 输出结果就直接从1排列到100了

  • 写回答

3条回答 默认 最新

  • jianyue--- 2022-01-27 22:29
    关注

    #include<stdio.h>
    int main()
    {
    int a=1;
    int b = a % 2;.//这是声明及初始化语句 ,a 变化时b不会随之改变 ,去掉这句
    while (a <= 100)
    {
    if(b==1) b的值不变化 改为 if((a%2)==1) 或者if(a & 1)
    {
    printf("%d ", a);

          }
         a++;
     }
    

    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月4日
  • 已采纳回答 1月27日
  • 创建了问题 1月27日