学编程,中大奖 张蕴 2001年 34期 可能很多朋友都知道,百事公司正在搞“百事音乐任我赢”促销活动,只要把三个环盖(含三个)内所印的分数相加得到100,300,500,1000都可以得到奖品。不少人都收集了一大堆环盖,当环盖少的时候还好算一算,当环盖多的时候就比较麻烦了。于是,便萌发了用VB编一个专门用于能够把满足条件的环盖列出的程序的想法。   先新建一个窗体(form)取名“PEPSI”。建一个文本框(textbox),属性为:名称=text1,text=“”,用于输入环盖中的数字;再建三个按钮(commandbutton)属性分别为:名称=command1,Caption=“输入”,用于对输入的数字进行确认;名称=command2,Caption=“计算”,用于对已输入的数字进行计算;名称=command2  Caption=“退出”,用于退出程序;五个图画框(picturebox),一个用于显示已经输入的数字,其它四个用于排列出满足相加条件满足100,300,500,1000的数字。现在界面基本完成,如果你想界面再好看些可以再加上几个标签(label)用于说明。完成后的界面如^34020501a^。   下一步就是编写程序:   主要思想就是把输入的环盖号形成数组,再用循环和选择语句找出满足条件的环盖号。   Dim a(0 To 1000) As Integer '定义静态数组a(),使每一个a都对应一个已输入的环盖号   Dim j As Integer '变量   Dim i As Integer '数组下标   Private Sub Command1_Click()'对command1进行编程   a(i)=Val(Text1.Text) '把text1中的值赋予对应的元素,val()用于把数字字符串转换为数值   Picture1.Print a(i) '把已有的元素显示出来   i=i+1 '使其每被按一次,数组的下标加1   Text1=“” '完成赋值后把text1中的数字清空   Text1.SetFocus   End Sub   '数组已经被赋值,下面就是最关键的部分是对满足条件的元素进行筛选   Private Sub Command2_Click ()'对command2进行编程   Picture2.Cls '把用于显示满足条件的图画框清空   Picture3.Cls   Picture4.Cls   Picture5.Cls   Dim k As Intege '定义变量   Dim n As Integer   For j=0 To i-1   For n=j+1 To i-1   '顺序取a(j),再用 a(j)之后的元素a(n)按顺序分别与a(j)相加   If a(j)+a(n)=100 Then '条件一   Picture2.Print a(j); “+”; a(n) '满足条件在Picture2中显示出来,下同   ElseIf a(j)+a(n)=300 Then   Picture3.Print a(j); “+”; a(n)   ElseIf a(j)+a(n)=500 Then   Picture4.Print a(j); “+”; a(n)   ElseIf a(j)+a(n)=1000 Then   Picture5.Print a(j); “+”; a(n)   End If   Next n   Next j   '以上条件是二者相加,以下条件是三者相加   For j=0 To i-1 '按顺序取a(j)   For n=j+1 To i-1 '按顺序取a(j)之后的元素a(n)   For k=n+1 To i-1 '按顺序取a(n)之后的元素a(k)   '原理同上   If a(j)+a(n)+a(k)=100 Then '条件一   Picture2.Print a(j); “+”; a(n); “ + ”; a(k) '满足条件后在Picture2中显示出来,下同   ElseIf a(j)+a(n)+a(k)= 300 Then   Picture3.Print a(j); “+”; a(n); “ + ”; a(k)   ElseIf a(j)+a(n)+a(k)=500 Then   Picture4.Print a(j); “+”; a(n); “ + ”; a(k)   ElseIf a(j)+a(n)+a(k)=1000 Then   Picture5.Print a(j); “+”: a(n); “ + ”; a(k)   End If   Next k   Next n   Next j   Text1.SetFocus   End Sub   Private Sub Command3_Click() '对command3进行编程   End   End Sub   好了,下面就可以运行了,赶快按下F5把自己的环盖号输进去吧。说不定你会惊喜地发现自己中了音乐宝盒呢!