求用C语言帮我写一下

输入正整数m和n(设100≤m≤n≤999),输出m到n之间满足下列条件的三位数:
它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如135=1+33+55*5)。
本来觉得类似于求水仙花数的问题,结果越做越不对劲,循环那里老是不对。

就是类似于求水仙花数的问题,你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>

int main()
{
    int m,n,i,a,b,c;
    scanf("%d%d", &m, &n);
    for (i = m; i <= n; i++)
    {
        a = i % 10;
        b = i / 10 % 10;
        c = i / 100;
        if (a*a*a+b*b+c==i)
        {
            printf("%d ", i);
        }
    }

return 0;
}

img

int main()
{
  int n,m;
  printf("请分别输入两个三位数:");
  scanf("%d%d",&n,&m);
  if(n>m)
  {
      int t = n;
      n = m;
      m = t;
  }
  int a,b,c;
  for(int i=n;i<=m;i++)
  {
    a = i/100; //百位
    c = i%10; //个位
    b = (i-a*100-c)/10;
    if(i==c*c*c + b*b + a)
      printf("%d ",i);
  }
  return 0;
}
#include <stdio.h>

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