#includeint is(int number); int pow3(int n); int main() { int m, n, i, cnt = 0; printf("input m and n :"); scanf("%d %d", &m, &n); if (m >= 1 && n <= 1000) { for (i = m; i <= n; i++) { if (is(i) == 1) { cnt++; printf("%6d", i); if (cnt % 10 == 0) printf("n"); } } } else { printf("invalid valuen"); } return 0; } // 判断是否为水仙花数 int is(int number) { int item = 0, sum = 0, i, temp; temp = number; while (temp > 0) { item = temp % 10; sum += pow3(item); temp /= 10; } if (sum == number) //各位数字的三次幂等于原数,即为水仙花数 return 1; else return 0; } // 避免使用math.h,自己写函数pow3计算n的三次幂 int pow3(int n) { return n * n * n; }
C语言程序设计(第4版)何颜钦 课后习题随笔P121练习题L5



