资源简介 数组+算法综合一班级姓名1.【202212精诚】某校开设了10门选修课,用编号1~10表示。学校根据每位学生的问卷调查得分及选课报名志愿进行分班,每班(即每门课)最多30人。如某同学的报名志愿表为4,1,2,7,3,5,8,10,9,6,表示他最想选报的课编号是4(第一志愿),其次为1(第二志愿),以此类推。选修课分班方法:优先满足问卷得分最高同学的第一志愿,如果该同学第一志愿课程所报名人数已满30人,则尝试满足他的第二志愿,第二志愿若也无法满足,则再尝试其第三志愿以此类推,直至该同学选课成功为止假设报名人数是n(<300),所有人都能选上选修课,且同一个学生的十个志愿都是不同的(不会重复选报同一个课程)。部分学生的选报情况如下表所示,数据已按学号升序排序。AAKLM1序号学号得分志愿1志愿2志愿3志愿4志愿5志愿6志愿7志愿8志愿9志愿102022101013122698531410731221010223136110592482221010324081Y637102532210104263563102749812322302211413270589361022332312211414315102319816234232221141524231015479286(1)若某人的报名志愿表为7,3,2,5,1,9,8,6,4,10,目前只剩编号4和6的课程未录取满,则该同学最终被录取课程编号是(2)以下程序先从报名表中读入学生填报的志愿数据,然后按每人的得分降序排列,同时维护好每个学生原始的序号,以便完成后续的查询操作。程序的最后是从高分开始按志愿录取。排好序的部分数据如下图所示,请完善程序。a=[];n-0352210217380610581243796f=open("报名志愿.csv")10322107013801058127396410for s in f.readlines()[1:]272210209377751094316827#将s中的字符以“,”为分割符并转换为整型量1972211211377473528106194a.append(list (map(int,s.split(','))))812210504376426531879104a[n][1]=str(a[n][1])822210505375581263941075n+=11712211022375875436110298#idx[]存储原序列排序后的新位置19022112043751067419385210idx=[i for i in range(n)]for i in range(n-1):k=ifor j in range(i+1,n):if①k=jif k!=i:a[i],a[k]=a[k],a[i]idx [a[i][O]]=i#原始序号排序后会跑到第ⅰ号位置上b=[0]*10for i in range(n):for t in ai]3::ifb[t-1]<30b[t-1]+=1a[i].append(t)②数组+算法综合一班级 姓名1.【202212精诚】(1)6(2)①a[j][2]>a[k][2]②break(3)③index=idx[m]④a[index][1]2.【202212四校】(1)max2=max1(2)max2==left1(3)k>=m and a[i][2]!=a[i-1][2] 或 k>=5 and a[i][2]!=a[i-1][2](4)randint(st,k-1) 或 randint(st,len(b)-1)3.【202212慈溪适应】(1)4(2)①t=int(a[:i])*60+int(a[i+1:])②tm[j],tm[j+1]=tm[j+1],tm[j]③i[1]>=t 展开更多...... 收起↑ 资源列表 22浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——数组+算法综合一.pdf 22浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——数组+算法综合一答案.docx