c语言使用函数输出水仙花数
时间: 2024-06-13 16:05:42 浏览: 113
以下是使用函数输出水仙花数的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int isArmstrong(int number);
int main() {
int start, end;
printf("Enter the range of numbers: ");
scanf("%d %d", &start, &end);
printf("Armstrong numbers in given range are: ");
for(int i=start; i<=end; i++) {
if(isArmstrong(i)) {
printf("%d ", i);
}
}
return 0;
}
int isArmstrong(int number) {
int sum = 0, temp = number, count = 0;
while(temp != 0) {
count++;
temp /= 10;
}
temp = number;
while(temp != 0) {
int digit = temp % 10;
sum += pow(digit, count);
temp /= 10;
}
return (sum == number);
}
```
相关问题
用c语言使用函数输出水仙花数:输入两个正整数m和n(1≤m、n≤l 000),输出m-n之间的所有满足各位数字的立方和等于它本身的数。要求定义并调用函数is( number)判断umber的各位数字之立方和是否等于它本身、试编写相应程序。
以下是用 C 语言编写的程序,可以输出 m-n 之间的所有水仙花数:
```c
#include <stdio.h>
int is(int number);
int main() {
int m, n, i;
printf("请输入两个正整数 m 和 n(1≤m、n≤1000):");
scanf("%d %d", &m, &n);
printf("m-n之间的所有水仙花数为:\n");
for (i = m; i <= n; i++) {
if (is(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
int is(int number) {
int sum = 0, temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == number;
}
```
如果您有任何关于这个程序的问题,欢迎随时问我。
在c语言中使用函数输出水仙花数
可以使用以下代码来输出水仙花数:
```
#include <stdio.h>
int isArmstrong(int num);
int main() {
int num, i;
printf("Enter the maximum number: ");
scanf("%d", &num);
printf("Armstrong numbers from 1 to %d are: ", num);
for(i=1; i<=num; i++) {
if(isArmstrong(i)) {
printf("%d ", i);
}
}
return 0;
}
int isArmstrong(int num) {
int sum = 0, rem, temp;
temp = num;
while(temp != 0) {
rem = temp % 10;
sum += rem * rem * rem;
temp /= 10;
}
if(num == sum) {
return 1;
}
else {
return 0;
}
}
```
函数isArmstrong用来判断一个数是否是水仙花数,如果是返回1,否则返回0。在主函数中,首先输入一个最大数,然后使用for循环从1到最大数遍历每一个数,判断是否是水仙花数,如果是则输出。
阅读全文