标题:小白求助水仙花问题
只看楼主
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
结帖率:40%
已结贴  问题点数:10 回复次数:10 
小白求助水仙花问题
#include <stdio.h>
#include <math.h>
int main ()
{   
    int number,count,result,sum;
    printf(" Please import number that you want to use:");
    scanf("%d",&number);
    while(number>0){
        count=number%10;
        result=count*count*count;
        sum=result+0;     
    }
    if(sum=number)
    {
        printf("是水仙花数");
    }
    else
        printf("不是水仙花数");
    return 0;
}
不能运行,不过没有语法错误
搜索更多相关主题的帖子: 水仙花 number count result sum 
2017-10-16 11:39
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
=和==的区别

DO IT YOURSELF !
2017-10-16 11:41
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 2楼 wp231957
大佬,对,if那个句子错了,但是还是不能运行,是不是逻辑错了?
2017-10-16 11:44
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 3楼 a250026320
把你最新代码发出来啊  

DO IT YOURSELF !
2017-10-16 13:52
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
sum=result+0;  这是神马东东  应该是sum+=result  sum在使用前应清零

DO IT YOURSELF !
2017-10-16 13:56
上上上签
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2017-9-29
得分:3 
回复 楼主 a250026320
while语句判断错误 应该是count>0
while语句中的sum=result+0错误,应该先给sum赋初值0,然后sum=sum+result
if语句括号中=是赋值,==是等于
2017-10-16 14:11
sxbj_feng
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2017-10-16
得分:3 
while(number>0){
        count=number%10;
        result=count*count*count;
        sum=result+0;     
    }
你的number的值没做任何修改,这个while怎么退出?一直在里面死循环。应该是要number--或者number++.

[此贴子已经被作者于2017-10-16 14:53编辑过]

2017-10-16 14:52
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
=脙鈥毭偮好兤捗偮

DO IT YOURSELF !
2017-10-16 15:26
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 4楼 wp231957
#include <stdio.h>
#include <math.h>
int main ()
{   
    int number,count,result,sum;
    printf(" Please import number that you want to use:");
    scanf("%d",&number);
    while(count>0){
        count=number%10;
        result=count*count*count;
        sum=result+sum;     
    }
    if(sum==number)
    {
        printf("是水仙花数");
    }
    else
        printf("不是水仙花数");
    return 0;
}

还是死循环,输出不了结果

[此贴子已经被作者于2017-10-16 16:22编辑过]

2017-10-16 16:20
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:3 
回复 9楼 a250026320
按你的思路改了下
程序代码:
#include <stdio.h>
#include <math.h>
int main ()
{   
    int number,count,result,sum=0,i=0,num,number2;
    printf(" Please import number that you want to use:");
    scanf("%d",&number);
    num=number;
    number2=number;
    while(num>0)
    {
        num/=10;
        i++;
    }
    while(number>0)
    {
        count=number%10;
        result=pow(count,i);
        sum=result+sum;
        number=number/10;

    }  
    if(sum==number2)
    {
        printf("是水仙花数");
    }
    else
        printf("不是水仙花数");
    return 0;
}
2017-10-16 16:54



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




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

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