c语言如何表示阿姆斯特朗
时间: 2024-10-13 13:15:21 浏览: 33
在C语言中,阿姆斯特朗数是指一个n位正整数,其各位数字的n次幂之和等于它本身。例如,153(1^3 + 5^3 + 3^3 = 153)就是一个三位阿姆斯特朗数。
下面是一个简单的C程序示例,用于检查一个输入的数字是否为阿姆斯特朗数:
```c
#include <stdio.h>
int is_armstrong(int num, int n) {
int sum = 0, temp;
// 计算每一位的n次幂并累加
temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
// 如果和等于原数,就是阿姆斯特朗数
return sum == num;
}
int main() {
int num, n;
printf("请输入一个三位数:");
scanf("%d", &num);
// 确保是三位数
if(num >= 100 && num <= 999) {
n = 3; // 由于只考虑三位数的情况
if(is_armstrong(num, n)) {
printf("%d 是阿姆斯特朗数.\n", num);
} else {
printf("%d 不是阿姆斯特朗数.\n", num);
}
} else {
printf("请输入有效的三位数.\n");
}
return 0;
}
```
在这个程序中,`is_armstrong`函数计算了输入数字的各个位数的n次方,并判断它们相加是否等于原始数字。
阅读全文