vfp编程题~~~水仙花数的个数

来源:百度知道 编辑:UC知道 时间:2024/05/20 00:15:56
下图所示表单用于统计100~999之间的水仙花数个数,结果在文本框TEXT1中显示,分别为两个命令按钮(统计水仙花数个数、退出)编写事件代码。(水仙花数事指一个三位数,其每一位数字的立方和等于这个数本身)。

P.S:请大侠们完整的写完程序,是考试题,拜托了哈!马上要考试了,拜托拜托!就是写的时候拜托写出怎么在TEXT1里显示个数,要一共有几个,不是要显示哪几个哦!急用,拜托啦!给个高分!

#include<stdio.h>
main() -----有些C编译器,可能还要你在前面写上void
{ int a=100,b,c,d=0;
printf("100到999的水仙花数分别是:\n");
do
{ b=a;
a++; ----这个地方有问题,不能先改变这个a,得等与d比较完成后才能变
do
{ c=b%10;
d=d+c*c*c;--------d的初值应该放在内循环的外面,不能放在外循环的外面.
b=b/10;
}while(b>0);
if(d==a)
printf("%d ",a);
}while(a<=999);
}
改动后的程序如下:

#include<stdio.h>
void main() ---如果你的编译器没问题,可不加void
{ int a=100,b,c,d=0;
printf("100到999的水仙花数分别是:\n");
do
{ b=a;
d=0; -----d的初值
do
{ c=b%10;
d=d+c*c*c;
b=b/10;
}while(b>0);
if(d==a)
printf("%d ",a);
a++; ----a加一,再计算下一个
}while(a<=999);
}
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:1634,8208,9474;
五位的水仙花数共有3个:54748,92727,93084;
六位的水仙花数只有