VC编写程序:输入两个正整数m和n(m>=1,n<=1000),输出m~n之间的所有水仙花数。
水仙花数是指各位数字的立方和等于其自身的数。要求:定义并调用函数sxhs(number)判断number的各位数字之和是否等于其自身。...
水仙花数是指各位数字的立方和等于其自身的数。要求:定义并调用函数sxhs(number)判断number的各位数字之和是否等于其自身。
展开
1个回答
展开全部
/*
low = 1
high = 9999
1是水仙花数。
1的各位数字之和与其自身相等。
2的各位数字之和与其自身相等。
3的各位数字之和与其自身相等。
4的各位数字之和与其自身相等。
5的各位数字之和与其自身相等。
6的各位数字之和与其自身相等。
7的各位数字之和与其自身相等。
8的各位数字之和与其自身相等。
9的各位数字之和与其自身相等。
153是水仙花数。
370是水仙花数。
371是水仙花数。
407是水仙花数。
请按任意键继续. . .
*/
#include<stdio.h>
#define N 100
int sxhs(int number, int *is) {
int d,sum = 0;
int cube = 0,n = number;
while(n) {
d = n % 10;
cube += d * d * d;
sum += d;
n /= 10;
}
*is = (sum == number);
return (cube == number);
}
int main() {
int low,high,an,is = 0;
printf("low = ");
scanf("%d",&low);
printf("high = ");
scanf("%d",&high);
while(low <= high) {
an = sxhs(low,&is);
if(an) printf("%d是水仙花数。\n",low);
if(is) printf("%d的各位数字之和与其自身相等。\n",low);
++low;
}
return 0;
}
low = 1
high = 9999
1是水仙花数。
1的各位数字之和与其自身相等。
2的各位数字之和与其自身相等。
3的各位数字之和与其自身相等。
4的各位数字之和与其自身相等。
5的各位数字之和与其自身相等。
6的各位数字之和与其自身相等。
7的各位数字之和与其自身相等。
8的各位数字之和与其自身相等。
9的各位数字之和与其自身相等。
153是水仙花数。
370是水仙花数。
371是水仙花数。
407是水仙花数。
请按任意键继续. . .
*/
#include<stdio.h>
#define N 100
int sxhs(int number, int *is) {
int d,sum = 0;
int cube = 0,n = number;
while(n) {
d = n % 10;
cube += d * d * d;
sum += d;
n /= 10;
}
*is = (sum == number);
return (cube == number);
}
int main() {
int low,high,an,is = 0;
printf("low = ");
scanf("%d",&low);
printf("high = ");
scanf("%d",&high);
while(low <= high) {
an = sxhs(low,&is);
if(an) printf("%d是水仙花数。\n",low);
if(is) printf("%d的各位数字之和与其自身相等。\n",low);
++low;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询