使用C语言编写程序搜索并输出100至999内所有水仙花数
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是使用C语言编写的一个简单程序,它会搜索并输出100到999范围内的所有水仙花数:
#include <stdio.h>
int is_armstrong(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit; // 计算每位数的立方
temp /= 10;
}
return sum == num; // 如果计算结果等于原数,那么它是水仙花数
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_armstrong(i)) {
printf("%d 是水仙花数。\n", i);
}
}
return 0;
}
这个程序定义了一个is_armstrong
函数,用于检查一个整数是否是水仙花数。然后在主函数里,我们遍历从100到999的所有数,并对每个数应用这个函数。如果返回值为真,则说明当前数是水仙花数,并打印出来。
c语言编写程序实现输出所有水仙花数
可以回答这个问题。以下是C语言编写程序实现输出所有水仙花数的代码:
#include <stdio.h>
int main() { int i, j, k, n; for (n = 100; n < 1000; 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; }
用C语言编写程序 输出100-999中所有的水仙花数。提示:若三位数ABC满足ABC = A3+B3+C3,则称其为水仙花数。
在C语言中,我们可以创建一个函数来检查一个数字是否是水仙花数,并遍历100到999范围内的所有数字进行判断。以下是实现这一功能的一个简单示例:
#include <stdio.h>
// 检查是否为水仙花数的辅助函数
int is_armstrong_number(int num) {
int sum = 0, temp;
// 将数字分解为各位数字并计算它们的立方和
temp = num;
while (temp != 0) {
sum += pow((temp % 10), 3); // 使用pow函数计算立方
temp /= 10;
}
// 如果原数等于各位数字立方之和,那么它是水仙花数
return sum == num;
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_armstrong_number(i)) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
在这个程序中,我们首先定义了一个is_armstrong_number
函数,它接受一个整数作为输入,然后通过取模和除法操作获取每一位数字,并计算它们各自的立方和。如果最终结果与原始数字相等,说明它是水仙花数。
在主函数main
里,我们循环遍历100到999的所有整数,对每个数调用is_armstrong_number
,如果是水仙花数就打印出来。
相关推荐
















