问答详情
源自:4-8 循环结构之for循环(一)

求水仙花数

#include <stdio.h>
int main()
{
 int a[100], b,i,c,d;
 for (i = 0; a[i-1] != 0; i++)
 {
  scanf("%d", &a[i]);
 }
 for (i = 0; a[i] != 0; i++)
 {
  b = a[i] / 100;
  c = a[i] % 10;
  d = a[i] / 10 % 10;
  
  if (b*b*b + c*c*c + d*d*d == a[i])
  {
   printf("Yes\n");
  }
  else
  {
   printf("No\n");
  }
 }
 return 0;
}#include <stdio.h>
int main()
{
 int a[100], b,i,c,d;
 for (i = 0; a[i-1] != 0; i++)
 {
  scanf("%d", &a[i]);
 }
 for (i = 0; a[i] != 0; i++)
 {
  b = a[i] / 100;
  c = a[i] % 10;
  d = a[i] / 10 % 10;
  
  if (b*b*b + c*c*c + d*d*d == a[i])
  {
   printf("Yes\n");
  }
  else
  {
   printf("No\n");
  }
 }
 return 0;
}

提问者:qq_羲和_3 2017-05-24 08:31

个回答

  • qq_羲和_3
    2017-07-25 14:06:52

    题目有要求是多组数据啊,你这就是我输入一个数字的判断方法

  • Wonder_8
    2017-07-10 16:26:18

    这个是判断的。。

    #include "stdio.h"
    int main()
    {
        int a,b,c,n;
       
      scanf ("%d",&n);
     
      a=n/100;
      b=n/10%10;
      c=n%10;
       
        if((a*a*a+b*b*b+c*c*c)==n)
       
        {
        printf("YES\n");
        }
        else
        printf("NO\n");
       
        return 0;
       
    }

  • Wonder_8
    2017-07-10 16:25:12

    为什么上面的这么麻烦。。。。

    而且还有点看不懂
    #include "stdio.h"
    void main()
    {
     int n,a,b,c;
     for(n=100;n<999;n++)
        {
        a=n/100;
        b=n/10%10;
        c=n%10;
         if((a*a*a+b*b*b+c*c*c)==n)
         {
         printf("%d\n",n);
         }
        }
     
    }

  • SugarMan表示大吃一鲸
    2017-05-24 09:54:16

    #include <stdio.h>
    /*
    输出所有的水仙花数
    
      水仙花数定义:三位数 其各位数的立方和等于它本身!
    */
    int main()
    {	
    	int a,b,c;//定义百位,十位,个位
    	int i;
    	
    
    	printf("输出所有的水仙花数:\n");
    
    	for(i=100;i<1000;i++)
    	{	
    		a=i/100;
    		b=i/10%10;
    		c=i%10;
    
    		if(a*a*a+b*b*b+c*c*c==i)
    
    			printf("%5d",i);
    
    	}
    	printf("\n");
    
    	system("pause");
    
    	return 0;
    }