C语言水仙花变式如何去做

img

#include<stdio.h>

int main()
{
    int n,i,a,b,c,f=0;
    scanf("%d", &n);
    for (i = 100; i < n; i++)
    {
        a = i / 100;
        b = i / 10 % 10;
        c = i % 10;
        if (a*a*a + b*b*b + c*c*c == i)
        {
            printf("%d\n",i);
            f=1;
        }
    }
    if (f==0)
        printf("No Answer\n");
    return 0;
}

将循环终止条件控制在小于n。

#include<stdio.h>
int main()
{
int i,j,k,n,num,count=0;
 scan("%d",&num);
 for(n=100;n<num;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)
   {
     count++;
       printf("%d\n",n);
   }
 }
  if(count==0){
    printf("No Answer\n");
  }
  return 0;
}