C.Ifa(j)>a(k)Thenk=j
D.Ifa(j)>a(k)Thenk=i
【解析】 本程序段为选择排序(按升序排序),每趟比较找出最小值,存入a(k)中,k记录最小值编号j。
【答案】 A
5.通过编程寻找3位的水仙花数。
什么是水仙花数:
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。
例如153是水仙花数,因为13+53+33=153。
解决此问题的VisualBasic程序如下,程序界面如图所示,在列表框List1中输出结果。
在①和②划线处,填入合适的语句或表达式,把程序补充完整。
PrivateSubCommand1_Click()
DimiAsInteger
Dima,b,cAsInteger
For____①____
a=i\100
b=i\10Mod10
c=iMod10
If____②____ThenList1.AddItemStr(i)
Next
EndSub
(1)程序中划线处①应填入________。
(2)程序中划线处②应填入________。
【解析】
(1)枚举算法在列举的过程中,不能遗漏任何一个可能的解,寻找3位的水仙花数,100到999都是可能解。
因此列举所有可能解的语句应该是:
Fori=100to999。
(2)if语句用于检验当前列举的可能解i是否是正确解。
水仙花数的验证条件是:
它的每个位上的数字的n次幂之和等于它本身,本程序要求找出3位的水仙花数,因此n=3,变量a、b、c是可能解i的百位、十位和个位上的数字,因此验证条件是a^3+b^3+c^3=i。
【答案】 ①i=100To999 ②a^3+b^3+c^3=i