微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用pow面对特定输入的问题

如何解决使用pow面对特定输入的问题

 my_receiver:
        class: App\BackgroundTasks\Receiver
        tags:
            - { name: bernard.receiver,message: 'HelloWorld' }

我正在尝试制作一个检查号码是否为Armstrong号码的程序。我正以“ 153”作为输入专门面对这个问题。该程序可以很好地处理各种输入,但是编译器在添加153时显示异常行为。我还将在输出中附加不同的输入,以明确显示'sum'变量中数字的加法。

输出

#include<stdio.h>
#include<math.h>

int main()
{
    int n,num,sum=0,count=0,a,remain=0;
    printf("Enter a number : ");
    scanf("%d",&num);
    a=num;
    n=num;

    while(a!=0)
    {
        a=a/10;
        count++;
    }

    while(n!=0)
    {
        remain=n%10;
        sum=sum+pow(remain,count);
        printf("%d\n",sum);
        n=n/10;
    }

    if(sum==num)
        printf("Armstrong Number");
    else
        printf("Not an Armstrong Number");

    return 0;
}

解决方法

pow返回一个double,这意味着您可能会遇到奇怪的舍入问题。您可能需要考虑实现自己的integer exponentiation function

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?