注册 登录
编程论坛 C语言论坛

求助,请问这个代码为什么不能实现水仙花数的提取?

好烦、 发布于 2020-10-17 10:51, 1450 次点击
//找出100到999之间的水仙花数
#include<stdio.h>
int main (void)
{
    int m=100,n=999;
    int a,b,c;
    //scanf("%d%d",&m,&n);
    for( ;m<=n;m++)
    {
        a=m/100;
        b=m/10,b%=10;
        c=m%10;
        if(m=a*a*a+b*b*b+c*c*c)
            printf("%d\n",m);
    }
    return 0;
}
只有本站会员才能查看附件,请 登录
6 回复
#2
幻紫灵心2020-10-17 12:01
注意 = 和 == 的区别。
#3
风过无痕19892020-10-17 12:43
回复 楼主 好烦、
第11行,两个语句不要写同一行,即便是写在同一行,中间要用分号,而不能用逗号
第13行,条件语句中是判断 “ == ”,不是赋值 “ = ”

程序代码:

//找出100到999之间的水仙花数
#include<stdio.h>
int main (void)
{
    int m,n,k;
    int a = 0,b = 0,c = 0;
    scanf("%d%d",&m,&n);
    for(k = m;k <= n;k++)
    {
        a = k / 100;
        b = (k - 100 * a) / 10;
        c = k - 100 * a - 10 * b;
        if(k == a*a*a + b*b*b + c*c*c)
            printf("%d\n",k);
    }
    return 0;
}


[此贴子已经被作者于2020-10-17 13:12编辑过]

#4
好烦、2020-10-17 12:46
回复 2楼 幻紫灵心
已解决,感谢!
#5
好烦、2020-10-17 12:49
回复 3楼 风过无痕1989
为什么不能用逗号啊
#6
风过无痕19892020-10-17 13:18
回复 5楼 好烦、
我在写程序,你已经结帖了

也不是不能用,我说的不用逗号,主要是培养我们一个语句结束用分号的习惯
#7
好烦、2020-10-17 18:28
回复 6楼 风过无痕1989
哦,原来如此
1