标题:求助,请问这个代码为什么不能实现水仙花数的提取?
只看楼主
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
结帖率:87.5%
已结贴  问题点数:20 回复次数:6 
求助,请问这个代码为什么不能实现水仙花数的提取?
//找出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;
}
搜索更多相关主题的帖子: int 水仙花数 提取 for 代码 
2020-10-17 10:51
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:12 
注意 = 和 == 的区别。

saber,别哭.
2020-10-17 12:01
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
得分:8 
回复 楼主 好烦、
第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编辑过]

2020-10-17 12:43
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
得分:0 
回复 2楼 幻紫灵心
已解决,感谢!
2020-10-17 12:46
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
得分:0 
回复 3楼 风过无痕1989
为什么不能用逗号啊
2020-10-17 12:49
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
得分:0 
回复 5楼 好烦、
我在写程序,你已经结帖了

也不是不能用,我说的不用逗号,主要是培养我们一个语句结束用分号的习惯
2020-10-17 13:18
好烦、
Rank: 2
等 级:论坛游民
帖 子:78
专家分:72
注 册:2020-10-10
得分:0 
回复 6楼 风过无痕1989
哦,原来如此
2020-10-17 18:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503514-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029072 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved