爬虫日记 2021-03-28 19:32 采纳率: 0%
浏览 21

C语言求水仙花数,大家帮帮忙看看我哪里错了

#include <stdio.h>
int main()
{
    int a,b,c,n,i,j,k,d,e=1,w=1,q=1;
    scanf("%d",&n);
    d=n;
    for(a=1;d>1;a*=10){
    d--;
    }
    b=a*10;
    for(c=a;c<b;c++){
    i=c/100;
    j=c/10%10;
    k=c%10;
    while(n>0){
    e=e*i;
    w=w*j;
    q=q*k;
    n--;
    }
    if(c==e+q+w)
{
        printf("%d\n",c);}
    }
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 小兔子编程 青少年编程领域优质作者 2021-03-28 19:54
    关注

    你的思路有点小问题,给你参考下

    #include <stdio.h>

    int main()

    {

    int start, end, i = 0, a, b, c, size = 0;

    while (scanf("%d %d", &start, &end) == 2)

    {

    for (i = start; i <= end; i++)

    {

    a = i / 100;

    b = i / 10 % 10;

    c = i % 10;

    //total = pow(c, 3) + pow(a, 3) + pow(b, 3);

    if ((a*a*a + b*b*b + c*c*c) == i)  //满足水仙花条件

    {

    if (size == 0)   //size=0输出第一个水仙花数 

    {

    printf("%d", i);

    }

    else     //size++输出第二。。第n个水仙花数

    {

    printf(" %d", i);

    }

    size++;   //个数++;

    }

    }

    if (size == 0)   //范围内个数为0,则说明没有满足条件的

    {

    printf("no");

    }

    printf("\n");

    }

    return 0;

    }

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站