VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 618|回复: 2

[求助] c语言水仙花数问题

[复制链接]
32_avatar_middle
在线会员 发表于 2017-10-16 16:29:11 | 显示全部楼层 |阅读模式
3驿站币
#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;
}

最后是死循环。。应该怎么改??希望大佬赐教





上一篇:dll调用!!!!
下一篇:想将某个类封装成dll,但这是个派生类,可以封装么
75_avatar_middle
在线会员 发表于 2017-10-16 18:59:27 | 显示全部楼层
while(count>0){
        count=number%10;    //count如果不是10的整数倍,会一直是一个大于0小于10的整数,无限循环。
        result=count*count*count;   
        sum=result+sum;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
         }

忘了水莲花数是什么了,查了一下,意思应该是这个数的每一位的n次幂之和与这个数相等。稍微改了一下,你试试
    while(count>0)
    {
        count = number % 10;
        for(i = 0; i < n; i++)     //n是这个数有几位
        {
             result *= count;
        }
        sum += result;

        count = count / 10;     //去掉一位
    }


评分

参与人数 1威望 +2 热心值 +2 收起 理由
51_avatar_small Syc + 2 + 2 赞一个!

查看全部评分

回复

使用道具 举报

75_avatar_middle
在线会员 发表于 2017-10-16 19:03:56 | 显示全部楼层
还有一点要注意,result这个变量要初始化为1,int类型一般默认0,结果就是0了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-1-16 19:04

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表