用c语言水仙花数"是指一个三位数, 其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 写一个函数,输入一个整数,判断该数是否为水仙花数,是返回1不是返回0
#include <stdio.h>
int isNarcissistic(int num);
int main() { int num; printf("请输入一个三位数:"); scanf("%d", &num); if(isNarcissistic(num)) { printf("%d是一个水仙花数。\n", num); } else { printf("%d不是一个水仙花数。\n", num); } return 0; }
int isNarcissistic(int num) { int a = num / 100; //百位数字 int b = num % 100 / 10; //十位数字 int c = num % 10; //个位数字 if(num == aaa + bbb + ccc) { return 1; } else { return 0; } }
c语言5、输出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153=1+125+27
以下是使用C语言编写的输出所有水仙花数的程序:
#include <stdio.h>
int main() {
int i, num, digit, sum;
for (i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
程序中使用了一个for循环,遍历所有三位数。在循环中,将当前数字存储在变量num中,并且用一个while循环来计算该数字的各个位数的立方和,结果存储在变量sum中。最后,如果sum等于原数字i,就说明这个数字是水仙花数,将其输出即可。
打印出所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为。C语言
好的,以下是代码实现:
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n <= 999; n++) {
i = n / 100; // 获取百位数
j = (n / 10) % 10; // 获取十位数
k = n % 10; // 获取个位数
if (n == i * i * i + j * j * j + k * k * k) { // 判断是否为水仙花数
printf("%d\n", n);
}
}
return 0;
}
输出结果为:
153
370
371
407
其中,153 = 1^3 + 5^3 + 3^3,370 = 3^3 + 7^3 + 0^3,371 = 3^3 + 7^3 + 1^3,407 = 4^3 + 0^3 + 7^3,这四个数都是“水仙花数”。
相关推荐















