输出阿姆斯特朗数C语言
时间: 2023-05-17 09:06:29 浏览: 181
以下是输出阿姆斯特朗数的C语言代码:
#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 是阿姆斯特朗数", num);
} else {
printf("%d 不是阿姆斯特朗数", num);
}
return 0;
}
相关问题
用C语言如果一个正整数等于其各个数字的立法和,则该数称为阿姆斯特朗数。407=43+03+73就是一个阿姆斯特朗数。求1000以内的所有阿姆斯特朗数
好的,以下是使用 C 语言实现的求1000以内的所有阿姆斯特朗数的代码:
```c
#include <stdio.h>
int main() {
int num, i, j, k;
int a, b, c;
printf("1000以内的阿姆斯特朗数有:\n");
for (num = 100; num < 1000; num++) {
i = num / 100; // 百位
j = (num - i * 100) / 10; // 十位
k = num % 10; // 个位
a = i * i * i + j * j * j + k * k * k;
b = i * 100 + j * 10 + k;
if (a == b) {
printf("%d\n", num);
}
}
return 0;
}
```
这段代码使用一个循环遍历100到999之间的所有整数,对于每个整数,我们将其百位、十位和个位分别提取出来,然后计算其各个数字的立方和。如果计算出来的结果等于原来的整数,说明这个整数是阿姆斯特朗数,输出即可。需要注意的是,这里计算立方和的时候可以直接使用乘方运算符 `*`,不需要使用循环来计算。
运行代码后,可以得到以下输出结果:
```
1000以内的阿姆斯特朗数有:
153
370
371
407
```
如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=4^3+0^3+7^3就是一个阿姆斯特朗数。试编程求1000内的所有3位数的阿姆斯特朗数。 **输出格式要求:"There are following Armstrong number smaller than 1000:\n" " %d "用C语言写
以下是使用C语言编写的程序,可以求出1000以内的所有3位数的阿姆斯特朗数:
```c
#include <stdio.h>
int main() {
int i, j, k, n;
printf("There are following Armstrong number smaller than 1000:\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);
}
}
return 0;
}
```
程序中,我们使用了一个循环,从100到999遍历所有的3位数,对于每一个数,我们将其百位、十位、个位上的数字分别取出来,然后判断该数是否等于各个数字的立方和。如果是,则输出该数,否则继续遍历下一个数。
输出结果如下所示:
```
There are following Armstrong number smaller than 1000:
153 370 371 407
```
其中,153、370、371和407都是3位数的阿姆斯特朗数。
阅读全文