C語言中求水仙花數的方法是利用循環和條件判斷進行計算。水仙花數是指一個n位數(n≥3),它的每個位上的數字的n次冪之和等于它本身。
具體的求法如下:
示例代碼如下:
#include <stdio.h>
#include <math.h>
int main() {
int n, num, digit, sum;
printf("水仙花數有:");
for (num = 100; num < 1000; num++) {
n = 0;
sum = 0;
int temp = num;
// 獲取位數n
while (temp != 0) {
temp /= 10;
n++;
}
temp = num;
// 分解并計算每個位上的數字的n次冪
while (temp != 0) {
digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
// 判斷是否是水仙花數
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
運行結果為:
水仙花數有:153 370 371 407
表示100到999之間的水仙花數為153、370、371和407。