7-5 水仙花数 (20 分)

重点是把循环搞好

#include <stdio.h>
#include <string.h>
#include <math.h>
int f(int n,int z)
{
    int s=0,i,a;
    int flag;
    int m=n,b;
    while(n)
    {
        a=n%10;b=1;
        for(i=1;i<=z;i++)
        {
            b*=a;
        }
        s+=b;
       n/=10;
    }
    if(s==m)
        return flag=1;
    else return flag=0;
}
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=1*(pow(10,n-1));i<=1*(pow(10,n)-1);i++)
    {
        if(f(i,n))
            printf("%d\n",i);

    }

    return 0;
}

发布了25 篇原创文章 · 获赞 0 · 访问量 410

猜你喜欢

转载自blog.csdn.net/weixin_45726784/article/details/103744471