刚开始学c语言,现学现用的for和pow,研究了一晚上,几部分单独拿出来运行了一下都挺对的,不知道为啥结果一直是错的。
=是赋值
==是等于,你的for循环和if有问题,if要判断是否相等用==
供参考:
#include <stdio.h>
#include <math.h>
int main()
{
int N, i, p, t, sum, n, m, k;
printf("input num(3<= N <=7):");
scanf("%d", &N);
for (i = pow(10, N - 1), p = i * 10; i < p; i++) {
for (sum = 0, t = i; t > 0; t /= 10) {
m = N; k = 1;
n = t % 10;
while (m--)k *= n;
sum += k;
}
if (sum == i)
printf("%d\n", i);
}
return 0;
}