#include<stdio.h>
#include<math.h>
//定义一个函数用来判断是否各位数字的立方和等于它本身
int is(int number){
int discuss,remainder,sum;
sum=0;
discuss=number;
while(discuss!=0) {
remainder = discuss % 10;
discuss = discuss / 10;
//求一个数字每个位数的立方和;
sum = sum + pow(remainder, 3);
}
if(sum==number){
//1代表number是水仙花数
return 1;
}else{
//0代表number不是水仙花数
return 0;
}
}
//调用函数
int main(){
int i,m,n;
//count用来记录水仙花的个数
printf("输入两个正整数m和n:\n");
scanf("%d%d",&m,&n);
if(m>=1&&n<=1000&&m<n){
printf("%d~%d之间的水仙花数为: ", m, n);
int count=0;
for(i=m;i<n;i++) {
//if里面的is(i)表示如果这是水仙花数,则输出水仙花数且水仙花数的个数加一
if (is(i)) {
printf("%d ", i);
count++;
}
}
// if(count == 0){
// printf("无");
// }
// printf("\n");
}else{
printf("invalid!\n");
}
return 0;
}
C语言使用函数输出m-n之间所有的水仙花数
最新推荐文章于 2023-11-19 23:34:38 发布