应用题 1. 考生文件夹下有一个工程文件sjt3.vbp,其功能是:
    ①单击“读数据”按钮,则将考生文件夹下in3.dat文件中的100个0~999的整数读入到数组a中;
    ②单击“计算”按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框Text1、Text2中(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:153=13+53+33,所以153就是一个水仙花数)。
    在窗体文件中已经给出了全部控件(如图所示)和“读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写“计算”命令按钮的事件过程。
    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行前,必须进行“计算”,并且必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
   
【正确答案】【操作步骤】
   步骤1:按照题目要求打开工程文件。
   步骤2:打开代码编辑窗口,在指定位置编写如下代码。
   参考答案
   Dim i As Integer
   Dim max As Integer,min As Integer
   max=-1
   min=1000
   For i=1 To 100
   If isnarc(a(i))Then '调用isnarc判断是否为水仙花数
   If max<=a(i)Then max=a(i)
   If min>=a(i)Then min=a(i) '求水仙花数中的最大值与最小值
   End If
   Next i
   Text1=max
   Text2=min
   步骤3:按照题目要求调试并运行程序,如图所示。
   
【答案解析】[考点] 本题考点有:变量初值定义、If判断语句、For选择语句、Val()函数、Fix()函数以及文件操作。
循环遍历数组a,通过调用Function过程判断是否为水仙花数,并通过If语句对数值进行比较,如果max<=a(i),那么max=a(i),最小值同理。在设置变量初值时,max=-1,min=1000,目的是方便比较数的大小。因为数组中的数值最小的是0,最大的是999,所以,让max先等于-1,小于数组中的最小值,在程序执行过程中,只要有水仙花数,就一定会大于max,这样才会赋值给max,min=1000也是同样的道理。