、编写程序求出 100-999 中所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。C语言
时间: 2024-03-25 14:38:50 浏览: 34
好的,以下是求解水仙花数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, hundreds, tens, ones;
for (num = 100; num < 1000; num++) {
// 获取百位、十位、个位数字
hundreds = num / 100;
tens = (num / 10) % 10;
ones = num % 10;
// 判断是否为水仙花数
if (num == hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones) {
printf("%d\n", num);
}
}
return 0;
}
```
输出结果为:
```
153
370
371
407
```
这些数都是三位数且满足各位数字的立方和等于该数,因此是水仙花数。
相关问题
、编写程序求出 100-999 中所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例如 153=13+53+33。+
好的,以下是求解水仙花数的 Python 代码:
```python
for num in range(100, 1000):
# 获取百位、十位、个位数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds ** 3 + tens ** 3 + ones ** 3:
print(num)
```
输出结果为:
```
153
370
371
407
```
这些数都是三位数且满足各位数字的立方和等于该数,因此是水仙花数。
用C语言编写程序:将100-999之间的水仙花数输出,判断水仙花数的功能用自定义函数实现。水仙花数是指一个三位数等于各位数字的立方和。
### 回答1:
以下是用C语言编写的程序,可以将100-999之间的水仙花数输出:
```c
#include <stdio.h>
int isNarcissistic(int num);
int main() {
int num;
for (num = 100; num <= 999; num++) {
if (isNarcissistic(num)) {
printf("%d\n", num);
}
}
return 0;
}
int isNarcissistic(int num) {
int digit1 = num / 100; // 百位数
int digit2 = (num / 10) % 10; // 十位数
int digit3 = num % 10; // 个位数
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
return (sum == num);
}
```
程序中使用了一个自定义函数`isNarcissistic`,该函数接受一个整数参数`num`,判断`num`是否为水仙花数,返回值是一个整数,如果是水仙花数返回1,否则返回0。在`main`函数中,使用循环遍历100到999之间的整数,对于每个整数调用`isNarcissistic`函数来判断是否是水仙花数,如果是则输出该整数。
### 回答2:
水仙花数是指一个三位数,其各位数字的立方和等于其本身。现在我们用C语言编写一个程序来输出100-999之间的水仙花数。
首先,我们需要定义一个自定义函数,用来判断一个数字是否为水仙花数。我们可以将判断过程封装在一个函数中,函数的返回值为1表示是水仙花数,返回值为0表示不是水仙花数。函数的形参为一个整数num,表示要判断的数字。
函数的实现如下:
```c
int isNarcissistic(int num)
{
int digit; // 各位数字
int sum = 0; // 各位数字的立方和
int temp = num; // 保存num的值,用于后续计算
while (num > 0)
{
digit = num % 10; // 取出各位数字
sum += digit * digit * digit; // 计算立方和
num /= 10; // 更新num值,去掉最后一位数字
}
if (sum == temp)
{
return 1; // 是水仙花数
}
else
{
return 0; // 不是水仙花数
}
}
```
接下来,在主函数中调用该自定义函数,并输出100-999之间的水仙花数。
主函数的实现如下:
```c
#include <stdio.h>
int main()
{
int i;
printf("100-999之间的水仙花数有:\n");
for (i = 100; i <= 999; i++)
{
if (isNarcissistic(i))
{
printf("%d ", i);
}
}
return 0;
}
```
最后,我们在主函数中调用自定义函数isNarcissistic来判断每个三位数是否为水仙花数,并且通过遍历100-999之间的数,输出所有水仙花数。
运行程序后,输出结果如下:
```
100-999之间的水仙花数有:
153 370 371 407
```
这样,我们就利用C语言编写了程序,输出了100-999之间的水仙花数。
### 回答3:
下面是用C语言编写的程序:
```
#include <stdio.h>
// 自定义函数,判断一个数是否为水仙花数
int isNarcissisticNumber(int num) {
int digit1 = num / 100; // 百位数字
int digit2 = (num / 10) % 10; // 十位数字
int digit3 = num % 10; // 个位数字
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
int main() {
printf("100-999之间的水仙花数:\n");
for (int i = 100; i <= 999; i++) {
if (isNarcissisticNumber(i)) {
printf("%d ", i);
}
}
return 0;
}
```
该程序定义了一个名为`isNarcissisticNumber`的自定义函数,用于判断一个三位数是否为水仙花数。在`main`函数中,程序使用循环从100到999,依次调用`isNarcissisticNumber`函数判断是否是水仙花数,并输出结果。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)