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

小白求助水仙花问题

a250026320 发布于 2017-10-16 11:39, 2172 次点击
#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;
}
不能运行,不过没有语法错误
10 回复
#2
wp2319572017-10-16 11:41
=和==的区别
#3
a2500263202017-10-16 11:44
回复 2楼 wp231957
大佬,对,if那个句子错了,但是还是不能运行,是不是逻辑错了?
#4
wp2319572017-10-16 13:52
回复 3楼 a250026320
把你最新代码发出来啊  
#5
wp2319572017-10-16 13:56
sum=result+0;  这是神马东东  应该是sum+=result  sum在使用前应清零
#6
上上上签2017-10-16 14:11
回复 楼主 a250026320
while语句判断错误 应该是count>0
while语句中的sum=result+0错误,应该先给sum赋初值0,然后sum=sum+result
if语句括号中=是赋值,==是等于
#7
sxbj_feng2017-10-16 14:52
while(number>0){
        count=number%10;
        result=count*count*count;
        sum=result+0;     
    }
你的number的值没做任何修改,这个while怎么退出?一直在里面死循环。应该是要number--或者number++.

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

#8
wp2319572017-10-16 15:26
=脙鈥毭偮好兤捗偮
#9
a2500263202017-10-16 16:20
回复 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编辑过]

#10
pydlq2017-10-16 16:54
回复 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;
}
#11
a2500263202017-10-16 21:50
回复 10楼 pydlq
谢谢,我知道怎么错了
1