注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

为自由而活!

贵在坚持!

 
 
 

日志

 
 

基础很重要啊!  

2014-03-28 11:33:27|  分类: 技术有关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天在501值班的时候,被同学一个简单的问题难住了,很尴尬啊!
这个问题是输入三个数比较大小,我刚开始一看不难啊!就想到了数组,可是学弟他们还没有学数组。心想也是三个数就用数组,有点大材小用了!那就用if语句,各种判断啊!
刚开始的思路是三个数中找出最大的,然后让其他的两个比较就是了。思路是很清晰,可是就是在写代码的时候,各种错误。
Private Sub Command1_Click()
 Dim a%, b%, c% 
 a = Val(InputBox(""))
 b = Val(InputBox(""))  
 c = Val(InputBox("")) Max = x
max = a
                 If b > a Then Max = b
 If c > b Then Max = c
        Print  Max
      End Sub
      是输出了最大数可是其他的两个怎么比较那?
     看着这种办法行不通,学弟学妹们又用期待的眼光看着你(因为ta们要交作业)。哎!只能用最笨的办法了,一个一个排除吧,3个数谁最大也有可能,共有9中可能,把这九种可能的情况都列出来。写着写着把我自己都搞蒙圈了!哎!满头的汗啊!最后还是请老师解答难题啊!
老师用的办法是,拿出三个空间x ,y ,z 把最大的放大x里,依次是y和z. 代码我就我写了,感觉有点乱。回去后我又上网查了下有个更简单的办法。
      Private Sub Command1_Click()
 Dim a%, b%, c% ,t%
 a = Val(InputBox(""))
 b = Val(InputBox(""))  
 c = Val(InputBox("")) 
                 If b > a Then 
                      t =a: a = b : b = t 
end  if 
 if  c > a then 
       t = a : a = c : c = t 
end  if 
  if c> b then 
t = b : b =  c : c = t 
         end if 
print  a , b , c 
这种办法的优势在于,节约内存。自己做不出来的原因还是对计算机的基础知识不熟,计算机把数据放在内存中的,不同的内存空间放不同的数据。那这个例子来说,一开始输入a,b,c的时候计算机已近给这 三个数按照输入的类型分配了三个内存空间里,我们可以假设这三个空间的数是从大到小存放的,然后通过比较依次按顺序往里放就是了。
通过对大一的辅导,发现自己还是没有计算机思维啊,还点多锻炼啊!

  评论这张
 
阅读(57)| 评论(26)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017