题库 高中信息

题干

水仙花数是指一个三位数,它的各位数的立方和正好等于该数本身。如: 153=1×1×1+5×5×5+3×3×3
小张设计了一个算法来输出所有的水仙花数,具体程序如下。

(1)在程序中常见用于解决问题的方法有解析法、穷举法、递归法等,本题中使用了哪种方法?
___________________________________
(2)程序中定义了几个变量?
___________________________________
(3)将程序中①的代码补充完整。
___________________________________
(4)将程序中②的代码补充完整。
___________________________________
(5)在for循环结构中,循环体执行的次数是多少?
___________________________________
(6)在本题中变量c主要用来存放这个三位数中的百位、十位还是个位上的数?
___________________________________
上一题 下一题 0.99难度 填空题 更新时间:2019-05-30 01:12:42

答案(点此获取答案解析)

同类题1

算法设计与程序实现
判断车牌的单双号
(背景知识)

 为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。

如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。(提示:(1)所有车牌号中都含有数字,并且车牌号的长度都是6;(2)以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。)

 (1)输入:AD2367

(2)输入:A8888A

(3)输入:A8963C

输出:单号

输出:双号

输出:单号

 

(算法描述)

(1)自然语言

第1步:输入车牌号

第2步:取车牌号的最后一位x;

第3步:判断x是否为数字,如果是,转第4步;如果不是,则依次取得倒数第二、三……位判断,直到找到数字为止;

第4步:判断x 是奇数还是偶数,然后输出相应的结果。

(2)流程图

请根据上述算法描述补全代码

  Dim n As Integer

  Dim s As String ‘定义s 为字符串类型

  Dim x As String

  s=InputBox(“s=”,s)   ‘将输入的车牌号赋值给s

  n=6 ‘车牌号的长度为6

  x=Mid(s,n,1) ‘取车牌号s的第n位

  Do While x<”0” Or x>”9”  ‘x不是数字字符,则取x的前一位

   ①

   x=Mid(s,n,1) ‘取车牌号s的第n位

  Loop

  If   ②    then

Print “双号”

   Else

Print “单号”

   End If

(提示:Mid(s,m,n)的功能:从字符串s的第m位开始,截取长度为n的子串。例如:Mid(“A8963C”,5,1)的返回值是“3”。)

1. 根据题意,程序中空白①处应填写:_______________________________ 。
2. 根据题意,程序中空白②处应填写:______(填写字母:A/B/C/D)。

A、Val(x)\ 2= 0   B、Val(x)Mod 2 = 1   C、Val(x) Mod 2=0   D、Val(x) Mod 2 <> 0

同类题4

某班师生玩一个游戏,n(n 不超过 1000)个同学站成一圈,逆时针编号为 l - n,有两个老师 A 和 B,A 老师从 1 开始逆时针数 k 个同学,B 老师从 n 开始顺时针数 m 个同学(注意 A,B 老师可能数到同一个学生),被老师选中的 1 个或 2 个学生离开圈子,剩下的学生继续。
程序开始时在 Text1 中输入同学数 n,在 Text2 中输入 k 的值,在 Text3 中输入 m 的值,点击“开始” 按钮,在 label5 中显示依次出圈的学生编号。程序运行如图所示:

VB 程序如下,请将按要求答题:
Dim stu(1 To 1000) As Integer
Dim n As Integer
Private Sub Command1_Click()

Dim left, k, m As Integer

Dim stup1, stup2 As Integer

n = Val(Text1.Text)

k = Val(Text2.Text)

m = Val(Text3.Text)

    ①    
stup1 = n: stup2 = 1
For i = 1 To n
stu(i) = i Next i
Do While left > 0
stup1 = teachount(stup1, 1, k)
stup2 =
Label5.Caption = Label5.Caption & " " & Str(stup1)
left = left - 1
If    ②    Then
Label5.Caption = Label5.Caption & " " & Str(stup2)
left = left - 1
End If stu(stup1) = 0

stu(stup2) = 0

Loop

End Sub
'f=1 表示逆时针数 c 个,f=-1 表示顺时针数 c 个
Function teachount(ByVal p As Integer, ByVal f As Integer, ByVal c As Integer) As Integer
Do While c > 0
    ③    
Do While stu(p) = 0

p = (p + f + n - 1) Mod n + 1

Loop

c = c - 1

Loop teachount = p
End Function
(1)加框处的语句有错误,请改正:______________________________________________ 
(2)请将①处的语句补充完整:______________________________________________
(3)请将②处的语句补充完整:______________________________________________
(4)请将③处的语句补充完整:______________________________________________