编写一个程序,读入两个正整数a和b,并且a<=b, 计算并输出闭区间[a,b]中的X数。X数为各个数位上数字的立方和等于其自身的数字

编写一个程序,读入两个正整数a和b,并且a<=b, 计算并输出闭区间[a,b]中的X数。X数为各个数位上数字的立方和等于其自身的数字,例如: 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 is a X-number. 12 is not equal to 1 * 1 * 1 + 2 * 2 * 2 // 12 is not a X-number. 如果没有找到X数,输出提示信息no


#include <stdio.h>

int fun(int k[10]){
     int i;
     int a,b,c;
     int cnt =0;
     for(i=100;i<=999;i++){
         a = i / 100; //百位
        b = i / 10 % 10; //十位
        c = i % 10;//个位        
        if(a*a*a + b*b*b + c*c*c == i){
            k[cnt++] = i;
        }          
     }    
     return cnt;
}
void main(){
    /* 
    求出所有的水仙花树
      求出所有的水仙花树,水仙花数为3位数,每一位的三次方的和等于它自己
     */
     int a[10]={0,0,0,0,0,0,0,0,0,0};
     int cnt =0; 
     int i;
     cnt = fun(a);
     for(i=0;i<cnt;i++){
         printf("%d\t",a[i]);    
     }

} 
#include <stdio.h>
void main(){
   int a,b,s=0,k,num=0;
   scanf("%d%d",&a,&b);
   for(int i=a;i<=b;i++)
    {
          s = 0;
          t = i;
          while(t>0)
          {
              k = t%10;
              s += k*k*k;
              t = t/10;
          }
          if(s == i)
          {
            printf("%d ",i);
            num++;
          }
    }
    if(num == 0)
        printf("no");
    return 0;
}