三千芳华 发表于 2018-6-1 17:17:42

自己编译的水仙花,然而。。。。。

刚学c语言不久,自己憋了四十分钟左右才搞出来的,编译没问题,运行也可以,就是是这样

#include <stdio.h>
int main()
{
      int i,j,k,n,d;
      n=i*i*i+j*j*j+k*k*k;
      d=i*100+j*10+k;
      for(i=1;i<=9;i++)
      {
                for(j=0;j<=9;j++)
                {
                        for(k=0;k<=9;k++)
                        {
                              if(d==n)
                              printf("%d\n",d);
                        
                        }
                }
         }
         getchar();
         return 0;
}
请问到底错在哪里了啊?

冬雪雪冬 发表于 2018-6-1 17:23:07

把这两行放到循环中:
n=i*i*i+j*j*j+k*k*k;
d=i*100+j*10+k;

三千芳华 发表于 2018-6-1 17:30:01

冬雪雪冬 发表于 2018-6-1 17:23
把这两行放到循环中:
n=i*i*i+j*j*j+k*k*k;
d=i*100+j*10+k;

请问放到循环的位置,还有为什么要放到循环中啊?{:5_94:}

冬雪雪冬 发表于 2018-6-1 17:42:19

三千芳华 发表于 2018-6-1 17:30
请问放到循环的位置,还有为什么要放到循环中啊?

开始没有对i, j, k赋值,其值不确定。只有到循环中才依次对其赋值。
#include <stdio.h>
int main()
{
      int i,j,k,n,d;

      for(i=1;i<=9;i++)
      {
                for(j=0;j<=9;j++)
                {
                        for(k=0;k<=9;k++)
                        {
                              n=i*i*i+j*j*j+k*k*k;
                              d=i*100+j*10+k;
                              if(d==n)
                              printf("%d\n",d);
                        
                        }
                }
         }
         getchar();
         return 0;
}

三千芳华 发表于 2018-6-1 17:46:15

冬雪雪冬 发表于 2018-6-1 17:42
开始没有对i, j, k赋值,其值不确定。只有到循环中才依次对其赋值。

谢谢层主,终于明白错在哪里了{:5_95:}
页: [1]
查看完整版本: 自己编译的水仙花,然而。。。。。