函数习题(1):输出水仙花数

编写程序,打印水仙花数。要求写一个函数,用于判断一个数是否为“水仙花数”。调用该函数打印出所有水仙花数。 所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
【输入形式】
输入仅一行,输入2个数,最小三位数和最大三位数。
【输出形式】
输出一行,输出所有水仙花数。(数据间隔一个空格)
【样例输入】100  400

【样例输出】153  370  371

【答案】

#include<stdio.h>
#include<math.h>
int main()
{
    int lei(int x);
    int m,n,i,j;
    scanf("%d%d",&m,&n);
    for(i=m;i<=n;i++)
    {  
        j=lei(i);
        if(j==i)
          printf("%d ",lei(i));
    }
    return 0;
}

int lei(int x)
{
    int p,q,t,s;
    p=pow((x/100),3);
    q=pow(((x/10)%10),3);
    t=pow((x%10),3);
    s=p+q+t;
    return s;
}

     【解析】此题我们应用了函数相关的知识点,同时我们也用到了pow数学函数。在此题中计算立方的话也可以列出来相乘,但是如果遇到了十次方甚至更大的次方时我们用pow函数会特别方便。我们要注意的是用到数学函数时,我们要在上方开头使用include<math.h.>命令行。

(解析为作者本人见解,仅供参考。如有问题,请联系作者本人或在评论区纠正讨论,谢谢大家)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值