水仙花數是指一個三位數,其各個位上數字立方和等于該數本身。例如,153就是一個水仙花數,因為1^3 + 5^3 + 3^3 = 153。
以下是使用while語句來求解水仙花數的示例代碼:
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("請輸入一個三位數: ");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num)
printf("%d 是水仙花數。\n", num);
else
printf("%d 不是水仙花數。\n", num);
return 0;
}
該代碼首先要求用戶輸入一個三位數,然后使用原始數的副本進行操作。在while循環中,我們通過對原始數進行取余操作,得到每個位上的數字,并將其立方求和,存儲在result變量中。然后,我們將原始數除以10,以便在下一次循環中處理下一個數字。最后,我們將計算出的result與原始數進行比較,如果相等,則該數是水仙花數,否則不是。