m0_74106251 2022-11-18 09:24 采纳率: 57.1%
浏览 30
已结题

玫瑰花数c语言mooc原题

请问我的代码为什么运行没有结果 可以帮我看看吗
我的思路是遍历1000-9999之间的所有四位数,
拆分四位数并求其立方和
将sum与数本身比较,如果相等则为玫瑰花数
以下为我写的代码

#include <stdio.h>
int main()
{
    int i,t,temp,sum=0;
    printf("四位玫瑰花数有:");
    for(i=1000; i<=9999; i++)
    {
        t=i;
        while(t!=0)
        {
            temp=t%10;
            sum+=temp*temp*temp*temp;
            t=t/10;
        }
        if(sum==i)
            printf("%d\t",i);
    }
}

img

  • 写回答

2条回答 默认 最新

  • sk20180222 2022-11-18 10:22
    关注

    sum初始化每次

    //玫瑰花数c语言mooc原题
            int i, t, temp, sum = 0;
            printf("四位玫瑰花数有:");
            for (i = 1000; i <= 9999; i++)
            {
                t = i;
                sum = 0;
                while (t != 0)
                {
                    temp = t % 10;
                    sum += temp * temp * temp * temp;
                    t = t / 10;
                }
                if (sum == i)
                    printf("%d\t", i);
            }
    
            printf("\n");
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月18日