水仙花程序.doc_第1页
水仙花程序.doc_第2页
水仙花程序.doc_第3页
水仙花程序.doc_第4页
水仙花程序.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1关于水仙花数 发表时间:2008-04-24 20:33:12 更新时间:2008-04-24 20:33:12此题考试非常容易考到!需要注意!水仙花数意思是一个三位数m,它有如下特点: m=a3+b3+c3其中a为m的百位数,b为m的十位数,c为m的个位数譬如m=371则有 a 为 3 b为 7 c 为 1a,b,c如何求?a为m的百位数:首先把m的小数点后移两位,用m/100就可以了吧这时候把小数去掉就得到了百位数了.如何去掉小数?fix()或者int()都可以!比如:要371的百位数。可以 用 371/100=3.71 然后用 fix(3.71)=3就求出来百位b为m的十位数:如何求十位?利用刚刚求出的百位数a,将m简化为一个十位数m-a*100比如:371-3*100=71这样再求这个十位数7就好求了。仍然利用小数点前移然后求整 fix(71/10)就求出 b=fix(7.1)=7c为m的个位:跟求b一样利用先前求出的a与b,将m的十位,百位都减去就OK啦这样,a与b与c就都有了然后用选择结构如果m 满足这样的条件 m=a3+b3+c3 则 m为一个水仙花数 打印m否则 m不是一个水仙花数最后,另m从100开始循环到500 结束。程序是form = 100 to 500 a=fix(m/100) b=fix(m-a*100)/10) c=m-a*100-b*10 if m=a3+b3+c3 then print m;为一个水仙花数 endifnext mPS: 你可以用这种方法另m从100开始到999循环,找出所有水仙花数 可以找出从1000到9999 中找出有这样特点数m: m= a4+b4+c4+d4 其中 a,b,c,d分别为m的千位,百位,十位,个位。这样的数叫做玫瑰花数! 从10000到99999一样可以找出 5次方的数。叫做五角星数2日志标题:关于Fibonacci函数发表作者:8000087发表时间:2008-04-24 20:31:51 更新时间:2008-04-24 20:31:51Fibonacci函数是一个很有名的函数:表达式为F(i)= 0 i=1= 1 i=2= f(i-1)+f(i-2) i2也就是 F(3)= F(2)+F(1) F(4)= F(3)+F(2) : : :怎么写这个循环?显然先要给出初始值:first=0 F(1)的值; secoend= 1 F(2)的值 然后进行循环,定义循环变量i 从3开始到N结束(N是你想要结束的那个数,题目里是30。)求F(I)并打印出来这样循环体就是F= first +secoendfirst=secoendseconed= F这是啥意思?我们说每循环一次,就计算出了新一个数。这样下一个数就应该是这个新数与前面那个第2个数的和了。就是新数将前两个数象挤牙膏一样挤出一个来。 first secoend F first seconed F 这个first就不要了,seconed变成first, F变成了seconed下次循环还是计算 first+seconed 就可以了。保证了循环体表达式F=first+secoend不变明白了?所以程序就可以写成private sub form_click()dim i%, first%, secoend%, f%first = 0seconed = 1for i = 3 to 30 f=first + seconed print f first = seconed secoend = fnext iend sub3日志标题:关于while发表作者:8000087发表时间:2008-04-24 20:30:42 更新时间:2008-04-24 20:30:42所有的for 循环都可以变成while格式 FOR I = 1 TO 3 PRINT INEXT I改怎么改?首先设置 I的 初始值为1 循环的条件就为 I=3 就是I为1 当 I不大于3的时候执行循环,当I大于3了就退出了。当然在循环体内要把I的值加一了,不然就死循环了i = 1whlie i=3 print i i= i + 1wend非常容易吧扩展一下!扩展一:i= 1while i= 3 i= i+1 print iwend与上面的有什么不同?出来的结果有什么不同?前面是先打印I,后变变量。这个是先变变量后打印!前面结果出来是 后面是1 22 33 4可以理解吧根据情况看先变变量,还是先执行循环体扩展二:FOR的其他功能转换(1)步长STEP,在FOR里有步长控制。在while里就是变量增加的值了,比如步长为3i=1while i=1print ii=i-1wend4志标题:关于九九乘法表发表作者:8000087发表时间:2008-04-24 20:29:59 更新时间:2008-04-24 20:29:59九九乘法表是本章比较重要的题目。以前考试出过原题。很好的利用了循环语句及循环的嵌套。同学应该尽量理解每一个语句。如果不能理解。不妨把它背下来 理解:重点是一个print语句的理解。循环的嵌套应该比较容易理解了,主要是print语句把大家搞晕了 要参考一下前面对print语句的介绍!程序:private sub form_click() dim i%, j%, str$print Tab(35); 九九乘法表for i= 1 to 9 for j= 1 to 9 str= i & * & j & = & i*j print Tab(j-1)*15 + 1); str; next jprintnext iendsub1、程序开始定义了i:外循环变量,J:内循环变量,STR:所要打印的字符串变量2、PRINT之一: 用PRINT来打印表头,print可以跟函数(Tab(35),Spc(35).还记得什么意思吗?TAB表示向后移动一段距离,SPC表示打印多少个空格);可以跟字符串(print 你好,乘号,*,!,这些被引号引起来的都是字符串,可以是任意字符);还可以跟变量。比如print i 这时候I是多少就打印出多少。(比如 i=5, print i)这个时候print出来的就是5了。3、print之二: 容易被大家忽略的是print 后面跟的标点符号 print后面主要可以跟分号,或者不跟。不跟的时候是默认打印完这一语句后换行,下一个print语句在第二行打印。跟分号的时候是不换行,下一个print语句紧跟着上一个语句之后看例子:for i= 1 to 3 与 for i= 1 to 3print i print i;next i next i的区别左边打出来是右边打出来就是112323print 什么也不加,就是换行了3、关于字符串STRSTR是定义的一个字符串变量。STR是什么。我们想根据循环执行到不同时候STR不一样。当I为1,J为1的的时候 STR为“1*1=1”,I为2,J为2的时候 STR就为“2*2=4”。所以要对STR赋值的时候做一个字符串连接的小技巧另STR为I的值连接一个乘号字符,再连接J的值,再连接一个等号字符,再连接I*J的结果,所以写成 str=i & * & j & = & i*j4、开始循环了,我们要打印9行,假设每行1个表达式,第1行是 1*1=1第2行是 2*1=1第3行是 3*1=1这时候程序就是for i = 1 to 9print i & * & 1 & = &inext i此时,我们希望的是每一行打印九个表达式。第一行变成:1*1=1 1*2=2 1*3=3。1*9=9于是将print i*1=i语句改成(1)打印9次(2)隔一定区域打印(为了让每个表达式分开打印)(3)不换行所以用内循环实现FOR J = 1 TO 9 print i & * & j & = & i*j ;NEXT J此时I 为外循环给他赋的值表示第几行。也表示乘数。注意后面的分号。当然在程序中我们把这个字符串赋给了strstr= i & * & j & = & i*j于是可以写成FOR J= 1 TO 9 PRINT STR;NEXT J就可以了不过这样打印出来还不是我们想要的效果,为什么。都挤在一起了呀怎么样让每一个表达式都间隔一定的距离呢。用TAB()函数,或者SPC()都可以。这里用TAB(j-1)*15)+1)(j-1)*15+1 是什么?是空格或者间隔区域的大小呀:)书上是乘9,这里用乘15。看看效果如何?这样把程序改完就成了for i= 1 to 9 for j= 1 to 9 str= i & * & j & = & i*j print Tab(j-1)*15 + 1); str; next jnext i好了,这样循环完是个什么样?1*1=1 1*2=2 1*3=3。1*9=9 2*1=2 2*2=4。9*9=81。怎么会这样?哈哈,每行打印完忘记换行了呀在内循环结束,外循环开始下一次之前,就是在每打印完一行,开始打印第二行之前加一个换行呀什么时候外循环开始下一次?NEXT I 嘛笨换行怎么换?print什么也不加!于是程序就成了上面所写的for i= 1 to 9 for j= 1 to 9 str= i & * & j & = & i*j print Tab(j-1)*15 + 1); str; next jprintnext i5日志标题:999的那个课堂补充习题发表作者:8000087发表时间:2008-04-24 20:26:20 更新时间:2008-04-24 20:28:25第5章 需要解释的题目:补充题第3题:用户输入数据,统计用户输入次数和所有数据之和。当用户输入999时结束。1.关于读题!大家读题的本事还真是有一套,本题要求统计用户输入的次数,另外统计所有输入数据的和.不是输入次数与所有数据的和.无言啊2.要求统计用户输入次数,定义变量n%,每输入一次N加1即可3.统计用户输入数据的和,定义temp%暂存用户输入数据.定义s%累加每次输入的temp值!4.关于输入,使用inputbox让用户输入数据temp=val(inputbox(输入数据)5.循环条件是temp是否为999,若temp为999时,循环退出,否则继续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论