分支结构语句及程序实现 知识点题库

某地区中考录取采用“平行志愿”的投档录取方式,该录取方式的具体规则为:

①根据考生的考试总分从高到低依次对考生的填报志愿进行投档;

②每位考生可填三个志愿学校,轮到该考生投档时依次对其三个志愿进行投档,若第一志愿学校还有剩余招生名额,就被第一志愿学校录取,结束该考生的投档,否则需对其后续志愿学校进行同样的投档操作,若该考生所填的所有志愿学校都没有剩余招生名额,则该考生无法被任何学校录取,该考生的投档结束。

③当所有学校都已完成计划招生数时,停止投档,录取结束。

编写 VB 程序,实现上述“平行志愿”投档录取的功能,单击“读取考生数据”按钮 Command1, 则从数据库中获取所有考生的成绩、志愿信息以及每个学校的计划招生数,单击“投档录取”按钮 Command2,开始进行投档录取, 并在列表框 List1 中输出每个学校的计划招生数、实际招生数、录取分数线和最低录取名次信息,程序运行界面如图所示。请回答下列问题:

  1. (1) 若A校计划招生520人,B校计划招生480人,C校计划招生540人,某同学的考分名次为490名,其三个志愿学校依次为B校、A校、C校,且已知同名次的人数最多有30人,则该同学不可能被哪所学校录取:
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Const schCnt = 5                     '学校数量

    Const stuMaxCnt = 10000             '最多考生人数

    Dim zsCnt(1 To schCnt) As Integer      '存储每个学校的计划招生人数

    Dim zsCnt2(1 To schCnt) As Integer     '存储每个学校的实际招生人数

    Dim a(1 To stuMaxCnt) As Single       '存储考生总分成绩

    Dim b(1 To stuMaxCnt * 3) As Integer    '存储考试志愿,每个考生有3个志愿,每个志愿为学校编号

    Dim stuCnt As Integer                  '实际考生总人数

    Private Sub Command1_Click()

    '从数据库中读取所有考生的总分和志愿信息存储到数组a和数组b中(第1个考生总分存储到a(1),第1个考生的3个志愿分别存储到b(1)、b(2)、b(3)中, …),然后按总分对数组a和数组b进行降序排序,总分相同时,需根据各科成绩决定排序先后,但名次相同,考生总人数存储到stuCnt变量中;

    '读取每个学校的计划招生数,存储到数组zsCnt中;

    '以上功能代码略

    End Sub

    Private Sub Command2_Click()

      Dim sch As Integer         '学校代码,用1~5中的一个数字表示某学校代码

      Dim i As Integer, j As Integer, finished As Integer, prevScore As Single

      Dim stuMc(1 To stuMaxCnt) As Integer

      Dim MinScore(1 To schCnt) As Single

      Dim MinMc(1 To schCnt) As Integer

      finished = 0: i = 1

      prevScore = -1

      Do While

        If a(i) = prevScore Then

          stuMc(i) = stuMc(i - 1)

        Else

          

        End If

        prevScore = a(i)

        For j = 1 To 3

          

          If zsCnt2(sch) < zsCnt(sch) Then

            zsCnt2(sch) = zsCnt2(sch) + 1

            MinScore(sch) = a(i)

            MinMc(sch) = stuMc(i)

            Exit For

          End If

        Next j

        finished = 0

        For j = 1 To schCnt

          If zsCnt2(j) = zsCnt(j) Then

            finished = finished + 1

          End If

        Next j

        i = i + 1

      Loop

    '在List1中输出每所学校的代码、计划招生数、实际招生数、录取分数线、最低录取名次,代码略

    End Sub

小王基于选择排序算法编写了一个VB程序,功能如下:数组a有n*n个元素,按n行n列进行排列,按列进行升序排序。例如6*6的数组,第一列将a(1),a(7),a(13),a(19),a(25),a(31)进行排序。运行程序,在列表框List1中显示n*n个数列单击“排序”按钮Command1,在列表框List2中显示排序后的结果,程序运行界面如图所示。请回答下列问题:

  1. (1) n=6时运行结果如图所示,图中1处“47”在数组a中下标是(填数字)。
  2. (2) 为了实现上述功能,请在划线处填写合适的代码。

    Const n =6

    Dim a(1 To n * n) As Integer

    Private Sub Form_Load()      '产生n*n个数组元素,每行按n个数显示在list1中

      For i = 1 To n * n

        a(i) = Int(Rnd * 90) + 10

        s = s + Str(a(i))

        IfThen

          List1.AddItem s

          s = ""

        End If

      Next i

    End Sub

    Private Sub Command1_Click()

      Dim i As Integer, j As Integer, w As Integer, s As String

      For i = 1 To n * n

        k = i

        For j = k + n To

          If a(k) > a(j) Then k = j

        Next j

        If _x0000_i1031 Then t = a(k): a(k) = a(i): a(i) = t

      Next i

    '将排序后数组a的元素,按每行n个数显示在list2中,代码略

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
有如下VB程序段:

s ="waste" : n = Len(s)

s1 = Text1.Text : flag = False

For i=1Ton

    If Mid(s,i,1) = Mid(s1, 1,1) Then

        flag = True

        For j = 2 To Len(s1)

            If Mid(s1, j, 1)<>Mid(s, (j+i-2) Mod n + 1, 1) Then flag = False: Exit For

        Next j

        If flag Then Exit For

    End If

Next i

执行该程序段后,若flag变量值为True,则文本框Text1中输入的内容不可能的是(    )

A . ste B . tewa C . steaw D . Wastew
编写VB程序统计单词个数。要求:在文本框Text1中输入英语短文,单击“统计”按钮,单词的个数显示在Text2中(假定每个单词仅包含英文字母)。程序界面如图所示,按此要求编写程序如下:

Function Stod(ch As String)As String

  Dim n As Integer, i As Integer

  Dims As String, st As String

  For i=1 To Len(ch)

    s=Mid(ch, i, 1)

    If s>="a" Ands<="z" Then

      s=Chr(Asc(s)-32)

    End If

    ______________

    Stod=st

  Next i

End Function

Private Sub Command1_Click()

  Dim article, f As String, s1, s2 As String

  Dim i As Integer, m As Integer

  Dim flag As Boolean

  article=Stod(Text1. Text):f=Stod(Text2. Text)

  m=0:flag=False

  For i=1 To Len(article)

    y=Mid(article, i, 1)

    If y>="A"Andy<="Z"Then

        If flag=False Then

            s1=

            s2=Mid(article, i+Len(f), 1)

            If s1=f And Not(s2>="A" And s2<="Z") Then

              m=m+1

          End If

          flag=True

      End If

    Else

      flag=False

    End If

  Next i

  Label2.Caption="单词"+Text2.Text+“出现"+Str(m)+"次"

End Sub

  1. (1) 要在文本框Text1中输入这段英文内容,需要修改Text1的属性值(单选,填字母:A .Caption/B .Text/C .Font/D .Height)。
  2. (2) 请将程序代码中的画线处语句补充完整。
  3. (3) 程序代码中的加框处有误,请改正。
  4. (4) 程序代码中,flag=表示一个单词的开始,即当前字一个单词的首字母。
编写“二进制加法”程序,实现如下功能:在文本框Text1和Text2中分别输入两个二进制数,单击“计算”按钮Command1,程序在位数较少的二进制数前补“0”,使两个二进制数位数相同,然后从右向左按位依次进行加法运算,最后在文本框Text3中显示相加的结果。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要设置窗体的标题为“二进制加法”,应修改窗体的属性。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim s1, s2, result, t As String

      Dim span, jw As Integer

      s1=Text1. Text:s2=Text2. Text

      span=Len(s1)-Len(s2)

      If span<0 Then

        t=s1:s1=s2:s2=t

        span=   ①  

      End If

      For i=1 To span

        s2="0"+s2

      Next i

      jw=0:result="  "

      For i=   ②   To 1 Step-1

        x=Val(Mid(s1, I, 1))+Val(Mid(s2,i,1))+jw

        jw=x\2

        result=Str(x Mod 2)+result

      Next i

      If jw=1 Then result="1"+result

      Text3. Text=result

    End Sub

  3. (3) 在文本框Text1中输入“10”,在文本框Text2中输入“11000”,单击“计算”按钮Command1后,变量b2的值是
一个n×n矩阵的主对角线(从左上到右下的对角线)上各个元素的总和称为这个矩阵的迹。一个矩阵转置后,新矩阵的迹和原矩阵的相等。

以3×3数据块为例,原矩阵和转置矩阵的结果如图所示。

小明发现对这个矩阵进行转置后,主对角线上的数字没有发生变化,所以决定编写VB程序随机生成一个n×n的矩降再试一下。程序实现的功能如下:在文本框Text1中输入整数n(2≤n≤10),单击“生成矩阵”按钮Command1,生成n2个10到99之间(包含10和99)的随机整数,并以n行、n列矩阵的形式显示在列表框List1中,将转置后的矩阵也显示在List1中。再单击“主对角线”按钮Command2,则在标签Label1中输出两矩阵主对角线上的元素,运行界面如图所示,程序代码如下,请在画线处填入合适的代码。

Const max=100

Dim n As Integer

Dim a(1 To max)As Integer

Dim b(1 To max)As Integer

Private Sub Command1_Click( )

  n=Val(Text1.Text)

  For i=1 To n*n

    a(i)=    ①   

  Next i

  p=1

  For i=1 To n*n

    b(i)=a(p)

    If i Mod n=0 Then

      p=p-n*(n-1)+1

    Else

         ②  

    End If

  Next i

  List1.Clear

  List1. AddItem Str(n)+"*"+Str(n)+"方阵”

  Call Output(a( ))

  List1.AddItem"转置矩阵"

  Call Output(b( ))

End Sub

Private Sub Command2_Click( )

  Label1.Caption="原矩阵":L.abel2.Caption="转置矩阵"

  For i=1 To n

    Label1.Caption=Label1.Caption & Str(a(i+(i-1)*n))

    Label2.Caption=label2.Caption & Str(b(i+(i-1)*n))

  Next i

End Sub

Sub Output(a()As Integer)

Dim line As String

line=""

For i=1 To n*n

    If i>1 And i Mod n=1 Then

      List1. AddItem line

      line=Str(a(i))

    Else

         ③  

    End If

  Next i

  List1. AddItem line

End Sub

以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③

某网络平台登录时需要用户输入用户名和密码进行验证。用Python程序实现一个“验证用户登录”的程序,划线处应填的代码为:

dic={"Name":"admin","Password":"j1l234y"}

user-input("请输入用户名:")

psd-input("请输入密码:")

if

    print("用户名或密码错误!")

else:

print(" 登录成功!")

某股于3月21日起停牌进入配股缴款期,配股缴款截止日期为3月27日。由于配股后股价将除权,忘记或者不参与配股者或不是全额参与配股者,复牌后将面临损失。根据安排,该股本次配股价格为7.02元/股,按照每10股配售1.9股的比例向全体股东配售,其中:

配股除权价=(除权登记日收盘价+配股价×每股配股比例)/( 1+每股配股比例)

全额参与配股的最大配售量计算规则如下:

1)该股的配售比例是0.19。也就是说,假如你有10000股该股股份,最大配售量即为10000×0.19=1900(股)。

2)如果所获配股份额不足1股,那么0.65股及以上的为1股,0.65股以下的为0股。

回答下列问题:

  1. (1) 若该股的除权登记日收盘价为16.05元,则此次该股的配股除权价为元。
  2. (2) 假如你有15000股该股股份,最大配售量为股。
  3. (3) 如果不参与配股,该股配股除权后,将直接损失%。
  4. (4) 编写程序。用变量spj、pgj、bili、num、cqj、maxps分别存储除权登记日收盘价、配股价、每股配股比例持有的该股股份数、配股除权价和最大配售量。计算此次该股的配股除权价和最大参与配股配售量的Python程序如下,请在划线处添加合适的代码,完善程序,实现程序功能。

    flag=False

    pgj=7.02    #配股价

    bili=0.19    #每股配股比例

    spi-flatinput("请输入除权登记日收盘价:")

    num =floatinput("请输入持有的股份数:")

    cqj =     ①            #配股除权价

    maxps= num*bili      #最大配售量

    if      ②       :

        flag=True

    if flag :

        print("配股除权价", cqj,"最大配售量:" ,int(maxps)+1)

    else:

        print("配股除权价:", cq,"最大配售量:" ,nt(maxps))

     ② 

在平面坐标系中,给定一组有序的点 。从原点出发,依次用线段连接这些点,构成一条折线,要求编写一个“计算折线长度”的Python程序,该Python程序代码编写思路如下:

①输入各点的坐标(最后一个点的坐标后不加逗号),存人变量a中;

②将原点坐标加到坐标序列a的最前端;

③以逗号为界从a中取出各点的坐标,存入列表b中;其中列表b中的第一个和第二个数字为第一个点的x坐标和y坐标,第三个和第四个数字为第二个点的x坐标和y坐标,以此类推;

④计算折线长度。若以b[]标记为相邻两个点中前者的x坐标,则b[i+2]为后者的x坐标,b[i+1]为前者的y坐标,b[i+3]为后者的y坐标。i最小值为0,最大值为len(b)-4,步长为2。运用for语句求折线长度。

程序如下:

from math import sqrt

a=input("请输入各点的坐标:")

    ①            #补上原点坐标

b=a.splt(",")      #取出各点的坐标

if len(b) %2== 1:

    print("输入的坐标有误")

else:

    s=0

    for i in range(0, len(b)-2,      ②      ):

        s=s+sqt((int(b[i+2])-int(b[i])* *2+(int(b[i+3])-int(b[i+1])**2)

    else:

        print("折线长度为:", s)

  1. (1) 若三个点的坐标为(5,10),(8,12),(6,17),则输入为
  2. (2) 程序中划线处的代码为①;②
a=3

b=5

If(a<b):

    Print(“a*b”)

上面程序运行结果是(      )

A . 8 B . 2 C . a*b D . b*a
有如下VB程序段:

s1 = Text1.Text: s2 = "" n = Len(s1)

i = 1: j = n

Do While i <= j

    If i Mod 2 = 1 Then

        s2 = s2 + Mid(s1, j, 1)

    Else

        s2 = Mid(s1, n - j + 1, 1) + s2

    End If

    i = i + 1

    j = j - 1

Loop

Text2.Text = s2

在文本框Text1中输入“python”,执行该程序段后,文本框Text2中显示的是(    )

A . nyt B . nyh C . ynt D . ynh
以下是一段python程序:

它的可以用哪个流程图表达(   )。

A . B . C .
某景区渡口游客可乘船往返于河的两岸,有m个人自河东去河西,n个人自河西返回河东。现有一艘船,最大载重量为wt,最多可同时载两人,船自河东出发,最后返回河东。所有人的体重不会超过wt,求把所有人载过河所需最少往返次数。编写一个VB程序,实现上述功能。程序运行时,在列表框List1中显示所有游客的体重和去向(W表示往西、E表示往东),如“132E”表示体重为132往东。单击“统计”按钮Command1,在标签Label1中显示最少往返次数。程序运行界面如图所示。

  1. (1) VB语句List1.AddItem" "中AddItem是 (单选,填字母:A .对象名/B .方法名/ C .属性名)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Const m = 6, n = 8, wt = 200

    Dim d(1 To m + n) As String, a(1 To m + n) As Integer

    Private Sub Form_Load()

        '读取m + n 个人的体重及去向数据存入d 数组,代码略

    End Sub

    Private Sub Command1_Click()

        Dim i As Integer, p As Integer, q As Integer, s As String

        Dim num As Integer, num1 As Integer, num2 As Integer

        '以下代码实现从d 数组中提取每个人的体重数据,根据去向分段存入a 数组

        p = 1 : q =

        For i = 1 To m + n

            s = Mid(d(i), 1, Len(d(i)) - 1)

            If Mid(d(i),  , 1) = "W" Then

                a(p) = Val(s): p = p + 1

            Else

                a(q) = Val(s): q = q + 1

            End If

        Next i

        num1 = GetNum(1, m)

        num2 = GetNum(m + 1, m + n)

        If num1 > num2 Then num = num1 Else num = num2

        Label1.Caption = "过河需要最少往返次数:" + Str(num)

    End Sub

    Function GetNum(head As Integer, tail As Integer) As Integer

        Dim i As Integer, j As Integer, k As Integer, cnt As Integer, t As Integer

        '以下代码实现对数组a 降序排序

        i = head

        Do While i < tail

            k = i: i = tail

            For j =

                If a(j - 1) < a(j) Then

                    t = a(j): a(j) = a(j - 1): a(j - 1) = t

                    i = j

                End If

            Next j

        Loop

        cnt = 0: i = head: j = tail

        Do While i <= j

            If  Then j = j - 1

            cnt = cnt + 1: i = i + 1

        Loop

        GetNum = cnt

    End Function

  3. (3) 程序加框处的代码有误,请改正。
有如下VB程序段:

count = 0: n=7: i= 1

Do While i<=n

    If a(i)> a(i+1)Then

        count = count + 1

        t = a(i): a(i) = a(i + 1): a(i+1) =t

    End If

    If i=n Then i=0:n=n-1

    i=i+1

Loop

Text1.Text = Str (count)

数组元素a(1)到a(8)的值依次是“15,2,1,17,19,14,25,26”,执行该程序段后,文本框Text1中显示的是(    )

A . 4 B . 5 C . 6 D . 7
阅读下列程序,写出运行结果

警察抓小偷,有四个嫌疑人甲乙丙丁,其中一人是小偷。甲说“不是我”,乙说“是丙”,丙说“是丁”,丁说“丙在冤枉人”。他们中只有一人说了假话,编程判断谁是小偷。(注:在Python运算中,True的值为1,False的值为0)

persons=[‘甲’,‘乙’,‘丙’, ‘丁’]

for thief in persons:

flag =(thief!=‘甲’)+(thief==‘丙’)+(thief ==‘丁’)+(thief!=‘丁’)

if flag == 3:

print(thief)

运行结果是:

判断身份证校验位是否正确

第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。

第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。

第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。

第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。

余数列表

0

1

2

3

4

5

6

7

8

9

10

校验码对照表

1

0

X

9

8

7

6

5

4

3

2

B2  某男性公民公民身份号码本体码为44052418800101001,其校验码字符值仍可按B1各步骤与方法计算如下:

=28+36+0+ 25+16+16+2+8+48+0+0+9+0+5+0+0+2=195

195÷11=17 , 即(ai×Wi)(mod 11)为8。

查表2得出校验码字符值ai为4。

该男性公民的公民身份号码为440524188001010014。

  1. (1)  如果身份证的前17位是34052419800101001,则该身份证的校验位是
  2. (2) 实现上述功能的代码如下,请在划线处填入合适的代码,使程序正常运行。

    def check(s):

    s1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]

    s2='10X98765432'

    k=0 

    for i in :

    k=k+int(s[i])*s1[i]

    return 

    sfz=input('请输入身份证号:') 

    if t !=18:

    print('位数有误,请重新输入!')

    else:

    if sfz[-1]=='x':

    sfz=sfz[:-1]+"X"

    if :

    print('合法身份证号')

    else:

    print('非法身份证号')

  3. (3) 实现上述功能的代码如下,但加框处代码有错,请改正。
小明为班会活动的“抽奖环节”设计了一张获奖表。该“抽奖环节”功能如下:班级学生人数为n个,程序运行后,单击“发放号码牌”按钮Command1,随机生成n个不重复的[n+1, 2*n]内的整数,并在列表框list1中显示,学生按学号次序依次领取号码牌,例如:随机生成的第一个整数为54,则学号为1号的学生领取的号码牌为54。单击“抽奖”按钮Command2,在列表框list2中显示获奖表,获奖序列要求:第1名获奖的学生是号码牌数字中偶数最大的,第2名获奖的学生是号码牌数字中奇数最小的,第3名获奖的学生是号码牌数字中偶数第二大的,第4名获奖的学生是号码牌数字中奇数第二小的……取过的数字不能再取,以此类推,直到结束。其程序界面如图所示。

实现上述功能的VB程序代码如下,请回答以下问题:
 

Const n = 50

Dim a(1 To n) As Integer

Dim f(n + 1 To 2 * n) As Boolean

Private Sub Command1_Click()

    Dim i As Integer, j As Integer

    Randomize

    For i = n + 1 To 2 * n

        f(i) = False

    Next i

    For j = 1 To n

        a(j) = Int(Rnd * n) + n + 1

        If f(a(j)) = True Then j = j - 1 Else     ①      

    Next j

    For i = 1 To n

        List1.AddItem CStr(i) + "号-" + CStr(a(i))      'cstr 把数值类型转换为字符串类型,并去前导空格

    Next i

End Sub

Private Sub Command2_Click()

    Dim i As Integer, j As Integer, m1 As Integer, m2 As Integer

    m1 = 0: m2 = n \ 2

    For i = n + 1 To 2 * n

        If    ②    Then

            m1 = m1 + 1: a(m1) = i

        Else

            m2 = m2 + 1: a(m2) = i

        End If

    Next i

    For j = 1 To n \ 2

        List2.AddItem "第" + CStr(2 * j - 1) + "名" + Str(    ③    ) List2.AddItem "第" + CStr(2 * j) + "名" + Str(a(n \ 2 + j))

    Next j

End Sub

  1. (1) 若仅对如下号码牌进行抽奖:1号-57,2号-76,3号-91,4号-83,5号-66,6号-82,则第3名获奖的学生学号是号。

     

  2. (2)  请在划线处填写合适代码,使程序正常运行。

小明编写了一个统计随机数分布的VB程序,部分程序如下所示,在调试程序的时候出现如下图所示的错误信息:

n = 0

m = 0

For i = 1 To 100

  If Rnd > 0.5 Then

    n = n + 1

  Else

    m = m + 1

Next i

……

小明仔细分析该程序段后,发现其中缺少的语句是(  )

A . For B . End If C . Next D . If
有如下python程序段:

from random import randint

n=input("请输入一串数字:")

k=randint(0,len(n))       #randint用于随机生成[0,len(n)]之间的整数

for i in range(k):

    for j in range(len(n)-1):

        if n[j]>n[j+1]:

            break

    else:

        n=n[:len(n)-1]

        continue      #continue跳过当前循环的剩余语句,直接进行下一轮循环

    n=n[:j]+n[j+1:]

执行该程序段后,输入“1529”,则变量n可能是(     )

A . "9" B . "12" C . "152" D . "1259"
素数只能被1和它本身整除,不能被其他自然数整除。编写Python程序实现如下功能随机产生一个三位数,并判断其是否为素数。
  1. (1) 若随机产生的三位数为593,则输出
  2. (2) 实现上述功能的Python程序如下,请在划线处填写合适的代码。

    import random

    a=     #随机产生三位正整数

    flag=True

    for i in range():

      if a%i==0:

        flag=False

         

    if flag:

      print(a,"是素数")

    else:

      print(a,"不是素数")

  3. (3) 以下选项中,与表达式“a % i == 0”等价的是(   )(单选,填字母)。
    A .   a // i == int(a / i) B . a // i == a / i C . a % i == a // i