当前位置: 高中信息技术 / 综合题
  • 1. (2022高三上·浙江月考) 某校军训,需要按照身高由低到高排成n行5列的方阵。某班学生按照身高(100≤身高≤199)由低到高编写编号并将相关信息存在如图1所示“stu.txt”文件中。根据教官提出的排方阵要求,排成如图2所示方阵,方阵各点显示学生编号。
    图1
    图2

    现有延迟报道学生归队,归队学生编号延续该班现有编号依次往后,编写程序完成下列任务:输入学生身高,输出新的方阵布局图。例如:输入学生身高为168,新的方阵布局图如图3所示,学生在方阵的位置:3 , 4。

    图3

    1. (1) 若插入学生身高为160cm,根据图1及范例,该学生应该在图2方阵中的几行几列
    2. (2) 为实现上述功能,请填写划线处代码。

      f = open ( "stu.txt" , "r" ) 

      a = [ ]

      line=f.readline( ).split ( )

      i = 1

      while line != [ ] :

        a . append ( [ line[ 0 ] , line [ 1 ] , i ] ) 

        i += 1

        line = f . readline ( ) . split ( ) 

      n = len ( a ) - 1

      a [ n ] [ 2 ] = -1

      sg = input ( "请输入插入的学生身高 ( cm ) : " ) 

      xh = str ( len ( a ) )

      head = 1

      p = head ; q = head

      while : p = q

        q = a [ q ] [ 2 ] 

      if q == head :

        

        head = len ( a ) -1 

      else :

        a . append ( [ xh , sg , a [ p ] [ 2 ] ] ) 

        a [ p ] [ 2 ] = len ( a ) - 1

      p = head m = 1

      while p != -1 :

        if m != 5 :

          print ( a [ p ] [ 0 ] , end = " " ) 

          m += 1

        else :

          print ( a [ p ] [ 0 ] ) 

          m = 1

微信扫码预览、分享更方便