FC_YSN 发表于 2020-12-8 15:33:26

帮忙改下代码,水仙花数

输出给定正整数M和N区间内的所有三位水仙花数。
出两个正整数M和N(100≤M≤N≤999)。


#include<stdio.h>
int main()

{
        int M,N,g,s,b,i,result;
        scanf("%d",&M);
        scanf("%d",&N);
        if(M < 100 || N > 999)
                printf("Invalid Value.");
        else
                for(i = M ; i <= N;i++)
                {
                        g = i % 10;
                        s = (i / 10) % 10;
                        b = i / 100;
                        result = g * g * g + s * s * s + b * b * b;
                        if(result = i)
                                printf("%d",i);               
                }
        return 0;
               
}

这个运行就成这样子了

wp231957 发表于 2020-12-8 15:40:29

if(result = i)应该是if(result == i)   ???

仙子哩 发表于 2020-12-8 15:41:25

应该用双等于判断,result==i

1447391641 发表于 2020-12-8 15:54:18

#include<stdio.h>
int main()
{
        int i,j,k,n;
        printf("\n");
        for(n=100;n<=999;n++)
        {
                i=n/100;
                j=n/10%10;
                k=n%10;
                if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
                {
                        printf("%-5d",n);
                }
        }
        printf("\n");
}
页: [1]
查看完整版本: 帮忙改下代码,水仙花数