m0_68001706 2022-03-31 19:36 采纳率: 66.7%
浏览 73
已结题

c语水仙花数for语句循环嵌套

#include"stdio.h"
main()
{int a,b,c,x,s=0,n;
scanf("%d",&n);
for(s=100;s<=n;s++)
{x=s;
a=s/100;
s=s%100;
b=s/10;
s=s%10;
c=s;
if(aaa+bbb+ccc==x)
printf("%d\n",x);
}
}
为什么这样打出来全是11111111111…麻烦解释一下

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2022-03-31 19:50
    关注

    因为你在循环代码里修改了循环变量s啊
    你应该在循环中将s全部改为x,将x改为s

    #include"stdio.h"
    int main()
    {int a,b,c,x,s=0,n;
    scanf("%d",&n);
    for(s=100;s<=n;s++)
    {x=s;
    a=x/100;
    x=x%100;
    b=x/10;
    x=x%10;
    c=x;
    if(a*a*a+b*b*b+c*c*c==s)
        printf("%d\n",s);
    }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月31日