读书人

很急诸位哥哥姐姐帮帮忙吧!

发布时间: 2013-01-18 10:22:42 作者: rapoo

很急,各位哥哥姐姐帮帮忙吧!!!!!
能帮我编写一个程序吗?实现以下功能:输入两个随机的三位数,请统计这两个三位数之间的水仙花数的个数。还要输出这个区间范围内的每个数。说明:一是这两个数是随机的,二是输出的每四个数换一行,三是变量的名称是“YYW14"。
[解决办法]


水仙花问题:
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序源代码:
main()
{
int i,j,k,n;
printf("'water flower'number is:");
 for(n=100;n<1000;n++)
 {
  i=n/100;/*分解出百位*/
  j=n/10%10;/*分解出十位*/
  k=n%10;/*分解出个位*/
  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
   {
   printf("%-5d",n);
   }
 }
printf("\n");
}



这是C的,其他语言思路都一样,希望能帮到你!
[解决办法]
*-*随机两个数:100,999
CLEAR
=STRTOFILE([],[SXH.TXT])
JS=0 && 记录水仙花数个数
JS1=0 && 记录输出数据的个数
YYW13=[] && 记录水仙花数
YYW14=[] && 输出区间数的变量
FOR I=100 TO 999
NUM1=INT(I/100) && 取百位
NUM2=INT(MOD(I,100)/10) && 取十位
NUM3=MOD(I,10) && 取个位
IF I=NUM1^3+NUM2^3+NUM3^3
JS=JS+1
YYW13=YYW13+TRANSFORM(I)+[ ]
ENDIF
JS1=JS1+1
YYW14=YYW14+TRANSFORM(I)+IIF(MOD(JS1,4)=0,CHR(13)+CHR(10),[ ])
ENDFOR
=STRTOFILE([水仙花数个数:]+TRANSFORM(JS)+[,]+YYW13+CHR(13)+CHR(10),[SXH.TXT],.T.)
=STRTOFILE([输出数据:]+CHR(13)+CHR(10)+YYW14,[SXH.TXT],.T.)
MODIFY FILE SXH.TXT

读书人网 >VFP

热点推荐