2026 技能节 · 编程题批阅报告
共 15 名学生 · 6 道题 · 满分 100 分 · 批阅日期 2026-10-22
52.2平均分
45中位数
94 / 6最高 / 最低分
5 / 15及格人数(≥60)
3优秀(≥90)
成绩排名
| 名次 | 学生 | 语言 | 总分 | 第1题 10分 | 第2题 10分 | 第3题 15分 | 第4题 20分 | 第5题 20分 | 第6题 25分 | 等级 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2433高琦盛 | Python | 94 | 10 | 10 | 15 | 20 | 14 | 25 | 优秀 |
| 1 | 2433王可轩 | Python | 94 | 10 | 10 | 15 | 20 | 14 | 25 | 优秀 |
| 3 | 杨明仁 | Python | 90 | 10 | 10 | 15 | 20 | 10 | 25 | 优秀 |
| 4 | 20233235袁增睿 | Python | 83 | 10 | 10 | 8 | 10 | 20 | 25 | 良好 |
| 5 | 253129张晋炜 | Python | 81 | 10 | 10 | 15 | 20 | 14 | 12 | 良好 |
| 6 | 潘思祺 | Python | 55 | 10 | 10 | 15 | 20 | — | — | 不及格 |
| 7 | 2434陈雨馨 | Word 文档 | 53 | 9 | 8 | 12 | 18 | 2 | 4 | 不及格 |
| 8 | 35贺丞 | Python | 45 | 10 | 10 | 14 | 11 | — | — | 不及格 |
| 9 | 20233404孙楠 | Python | 44 | 10 | 10 | 15 | 7 | 2 | 0 | 不及格 |
| 10 | 25汪洋 | C | 41 | 10 | 7 | 15 | 9 | — | 0 | 不及格 |
| 11 | 姚天洋 | C | 30 | 10 | 4 | 9 | 2 | 3 | 2 | 不及格 |
| 12 | 07张雨涵 | C | 29 | 10 | 7 | 2 | 0 | 10 | 0 | 不及格 |
| 13 | 243333陆谦 | C | 20 | 10 | 10 | 0 | 0 | 0 | — | 不及格 |
| 14 | TEST朱昱衡 | Java | 18 | 5 | 5 | 6 | 2 | 0 | — | 不及格 |
| 15 | 2533 蒋滨臣 | C | 6 | 3 | 2 | 1 | 0 | — | — | 不及格 |
满分得分 ≥60%得分 <60%0 分未提交鼠标悬停单元格可看扣分原因
各题得分情况
第1题 · 两数求和
满分 10 · 满分人数 12 · 未提交 0绝大多数同学完成。失分点:没有按题意输入、直接写死数值(TEST朱昱衡);变量未赋值就参与运算(2533 蒋滨臣)。
第2题 · 摄氏转华氏
满分 10 · 满分人数 9 · 未提交 0主要问题是用 int 存放计算结果或做整数除法,导致结果小数被截掉(07张雨涵、25汪洋),以及公式把 1.8 写成 18(姚天洋)。
第3题 · 正负零计数
满分 15 · 满分人数 7 · 未提交 0多数正确。典型错误:if 与 if/else 混用使条件不互斥,零被多计(20233235袁增睿);循环 i<=5 数组越界(姚天洋);题目数据抄错(2434陈雨馨)。
第4题 · 密码校验
满分 20 · 满分人数 5 · 未提交 0Python 组普遍掌握 any() / isalpha() / isdigit()。易错点:长度边界写成 <=8、用 isalnum() 代替判断字母、只检查部分条件;C 语言中 scanf("%s") 读不到空格、数字范围漏掉 '0'。
第5题 · 双向冒泡降序
满分 20 · 满分人数 1 · 未提交 4全班失分最多的一题。4 名同学(高琦盛、王可轩、杨明仁、张晋炜)双向冒泡写得正确,但比较方向导致升序;只需把 > 改成 < 即可得到降序。仅 20233235袁增睿 得到要求的降序结果。
第6题 · 递归折半查找
满分 25 · 满分人数 4 · 未提交 5能写出完整递归的有 4 人。张晋炜比较的是下标 mid 而不是 arr[mid];另有 10 人未提交、只有片段或代码无法运行。
逐人逐题评语
点击姓名展开,每题可查看学生原始代码。
1. 2433高琦盛优秀94 分
第1题 两数求和10/10浮点输入求和,正确。
查看代码 · 1.py
a=input('a:')
b=input('b:')
c=float(a)+float(b)
print('a+b=',c)第2题 摄氏转华氏10/10公式正确,100→212.0。
查看代码 · 2.py
ct=input('摄氏温度:')
ft=float(ct)*1.8+32
print('华氏度:',ft)第3题 正负零计数15/15三个独立 if 互斥条件,输出 2/2/1。
查看代码 · 3.py
arr = [3,-2,0,8,-7]
n, z, p = 0, 0, 0
for a in arr:
if a>0:
p+=1
if a==0:
z+=1
if a<0:
n+=1
print('大于0:',p,'\n小于0:',n,'\n等于0:',z)第4题 密码校验20/20长度、空格、字母、数字全部校验,不合格时循环重输,测试全部通过。
查看代码 · 4.py
while 1:
pwd = input('pwd:')
def check(pwd):
if len(pwd) < 8:
return '密码长度不应少于8位'
if ' ' in pwd:
return '密码不能包含空格'
has_alp=any(a.isalpha() for a in pwd)
has_dig=any(a.isdigit() for a in pwd)
if not(has_dig and has_alp):
return '密码必须同时包含字母和数字'
return '密码合格'
print(check(pwd))
if check(pwd)=='密码合格':
break第5题 双向冒泡降序14/20双向冒泡实现正确且带收缩边界,但结果为升序 [1,2,3,…,9],题目要求降序。
查看代码 · 5.py
arr=[5,7,8,3,2,9,6,1]
def cocktail_sort(arr):
arr=arr[:]
left=0
right=len(arr)-1
while 1:
swapped=False
for i in range(left,right):
if arr[i]>arr[i+1]:
arr[i],arr[i+1]=arr[i+1],arr[i]
right=i
swapped=True
for i in range(right,left,-1):
if arr[i]<arr[i-1]:
arr[i], arr[i - 1] = arr[i - 1], arr[i]
left=i
swapped=True
if swapped==False:
return arr
print(cocktail_sort(arr))第6题 递归折半查找25/25递归折半查找完整,9→4、19→9、4→-1。
查看代码 · 6.py
arr=[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
def binary_find(low,high,arr,key):
mid=(low+high)//2
if low>high:
return -1
if key>arr[mid]:
return binary_find(mid+1,high,arr,key)
if key<arr[mid]:
return binary_find(low,mid-1,arr,key)
if key==arr[mid]:
return mid
key=int(input('找什么\n'))
find=binary_find(0,len(arr)-1,arr,key)
print('索引是:',find)1. 2433王可轩优秀94 分
第1题 两数求和10/10正确。
查看代码 · 1.py
# 1.请你输入两个数a和b,求出a+b的和
a=float(input('请输入数字'))
b=float(input('请输入数字'))
print(a+b)第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
# 2.输人一个得氏温度C,输出对应邮华氏温度F。公式为:F=C×1.8+32
c=float(input('请输入温度'))
f=c*1.8+32
print(f)第3题 正负零计数15/15if/elif/else,输出 2/2/1。
查看代码 · 3.py
# 3.现在有一个一维数组3, -2, 0, 8, -7,请你分别统计大于0、小于0和等于0的个数。
arr3=[3,-2,0,8,-7]
c1=0
c2=0
c3=0
for i in arr3:
if i>0:
c1+=1
elif i<0:
c2+=1
else:
c3+=1
print('大于0数',c1)
print('小于0数',c2)
print('等于0数',c3)第4题 密码校验20/20一行条件覆盖全部要求,测试全部通过。
查看代码 · 4.py
# 4.输入一个字符串作为密码,判断是否合格。合格条件:
# 长度不少于8位;
# 必须同时包含字母和数字;
# 不能包含空格。
pwd = input('请输入密码')
if len(pwd) >= 8 and ' ' not in pwd and any(i.isalpha() for i in pwd) and any(i.isdigit() for i in pwd):
print('密码合格')
else:
print('密码不合格')第5题 双向冒泡降序14/20正反两趟冒泡,属于双向冒泡;但比较方向导致升序,未满足降序。
查看代码 · 5.py
# 5.请你对一维数组进行排序[5,7,8,3,2,9,6,1],使用双向冒泡排序进行降序排序。
arr = [5,7,8,3,2,9,6,1]
n = len(arr)
for i in range(n // 2):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
for j in range(n - 2 - i, i, -1):
if arr[j - 1] > arr[j]:
arr[j - 1], arr[j] = arr[j], arr[j - 1]
print("排序后结果:", arr)第6题 递归折半查找25/25递归折半查找逻辑正确,能判断是否找到(输出“找到了/没找到”)。
查看代码 · 6.py
# 6.现在有个数组{1, 3, 5, 7, 9, 11, 13, 15, 17, 19},请你用折半查找(递归)完成。
arr = [1,3,5,7,9,11,13,15,17,19]
tg=float(input('请输入数字'))
def search(arr,left,right,tg):
if left > right:
return -1
mid =(left+right)// 2
if arr[mid] == tg:
return mid
elif arr[mid] > tg:
return search(arr,left,mid-1,tg)
else:
return search(arr,mid + 1,right,tg)
result=search(arr,0,len(arr)-1,tg)
if result != -1:
print('找到了')
else:
print('没找到 qaq')3. 杨明仁优秀90 分
第1题 两数求和10/10正确。
查看代码 · 1.py
a=float(input('请输入一个数a:'))
b=float(input('请输入一个数b:'))
print(f'a+b的和为:{a+b}')第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
c=float(input('请输入一个摄氏度C为:'))
print(f'对应的华氏温度F为:{c*1.8+32}')第3题 正负零计数15/15输出 2/2/1(else 后多了续行符 \,不影响运行)。
查看代码 · 3.py
arr=[3,-2, 0, 8, -7]
a=0
b=0
c=0
for i in arr:
if i>0:
a+=1
elif i<0:
b+=1
else:\
c+=1
print(f'大于0的个数为:{a}')
print(f'小于0的个数为:{b}')
print(f'等于0的个数为:{c}')第4题 密码校验20/20条件完整,测试全部通过。
查看代码 · 4.py
m=input('输入一个字符串作为密码:')
if len(m)>=8 and ' ' not in m and any(a.isalpha() for a in m) and any(a.isdigit() for a in m):
print('合格')
else:
print('不合格')第5题 双向冒泡降序10/20双向冒泡思路正确,但为升序,且函数没有 return,打印结果为 None。
查看代码 · 5.py
def sx_mp(arr):
zuo=0
you=len(arr)-1
while zuo<you:
for i in range(zuo,you):
if arr[i]>arr[i+1]:
arr[i],arr[i+1]=arr[i+1],arr[i]
you-=1
for i in range(you,zuo,-1):
if arr[i-1]>arr[i]:
arr[i-1],arr[i]=arr[i],arr[i-1]
zuo+=1
arr=[5,7,8,3,2,9,6,1]
print(sx_mp(arr))第6题 递归折半查找25/25递归折半查找完整,目标 11 返回下标 5(目标写死,未做输入)。
查看代码 · 6.py
def cz_px(arr,b,zuo,you):
if zuo>you:
return -1
zd=(zuo+you)//2
if arr[zd]==b:
return zd
elif arr[zd]<b:
return cz_px(arr,b,zd+1,you)
else:
return cz_px(arr,b,zuo,zd-1)
arr=[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
print(cz_px(arr,11,0,len(arr)-1))4. 20233235袁增睿良好83 分
第1题 两数求和10/10正确。
查看代码 · 1.py
a,b=0,0
try:
a= input("输入a:")
b=input("输入b:")
calc = float(a)+float(b)
except:
print("要输入数字")
print(f"两数和为{calc}")第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
try:
c = input("输入得氏温度c:")
f =float(c)*1.8+32
print(f"邮华氏温度F为:{f}")
except:
print("输入内容要是数字")第3题 正负零计数8/15负数判断用了独立 if/else,正数也会落入 else,结果为 2/2/3(零应为 1)。
查看代码 · 3.py
arr = [3, -2, 0, 8, -7]
high,low,eq = 0,0,0
for i in arr:
if i>0:
high+=1
if i<0:low+=1
else:
eq+=1
print(f"大于0、小于0和等于0的个数分别为:{high},{low},{eq}")第4题 密码校验10/20len(pwd)<=8 把恰好 8 位判为不合格(abc12345 被拒);用 isalnum 判断字母,纯数字 123456789 会被判为合法。空格判断正确。
查看代码 · 4.py
pwd = input("输入字符串作为密码:")
valid = True
hasA,hasD = False,False
if len(pwd)<=8:
valid=False
for i in pwd:
if i.isalnum():
hasA = True
if i.isdigit():
hasD = True
if i.isspace():
valid=False
if valid and hasD and hasA:
print("合法")
else:
print("不合法")第5题 双向冒泡降序20/20双向冒泡(含 swapped 提前结束)+ 反转,得到 [9,8,7,6,5,3,2,1],全班唯一完全正确。
查看代码 · 5.py
arr = [5,7,8,3,2,9,6,1]
def sort(arr:list,up=1):
left,right = 0,len(arr)-1
swapped = True
while swapped and left<right:
swapped = False
for i in range(left,right):
if arr[i]>arr[i+1]:
arr[i],arr[i+1] = arr[i+1],arr[i]
swapped = True
right-=1
for i in range(right,left,-1):
if arr[i]<arr[i-1]:
arr[i],arr[i-1] = arr[i-1],arr[i]
swapped = True
left+=1
if not up:
arr.reverse()
return arr
res = sort(arr,0)
print(f"降序排序结果:{res}")第6题 递归折半查找25/25递归折半查找完整,返回正确下标。
查看代码 · 6.py
arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
def search(arr,target,low=0,high=None):
if high is None:
high = len(arr)-1
if low>high:
return -1
mid = low+(high-low)//2
if arr[mid] == target:
return mid
elif arr[mid]>target:
return search(arr,target,low,mid-1)
else:
return search(arr,target,mid+1,high)
try:
target = int(input(f"{arr},查找:"))
res = search(arr, target)
if res == -1:
print("没找到")
else:
print(f"索引为{res}")
except:
print("输入数组中存在的数字")5. 253129张晋炜良好81 分
第1题 两数求和10/10正确。
查看代码 · 1.py
# 1.请你输入两个数a和b,求出a+b的和
a=float(input('请输入a的值:'))
b=float(input('请输入b的值:'))
print('a+b的和:',a+b)第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
# 2.输人一个得氏温度C,输出对应邮华氏温度F。公式为:F=C×1.8+32
C=float(input('请输入摄氏度的值:'))
F=C*1.8+32
print('华氏温度F为:',F)第3题 正负零计数15/15输出 2/2/1。
查看代码 · 3.py
#3.现在有一个一维数组3, -2, 0, 8, -7,请你分别统计大于0、小于0和等于0的个数。
a=[3,-2,0,8,-7]
b=c=d=0
for i in a:
if i<0:
b+=1
elif i==0:
c+=1
elif i>0:
d+=1
print(f'大于0的个数:{d},小于0的个数:{b},等于0的个数:{c}')第4题 密码校验20/20分条件给出不合格原因,测试全部通过。
查看代码 · 4.py
#4.输入一个字符串作为密码,判断是否合格。合格条件:
# 长度不少于8位;
# 必须同时包含字母和数字;
# 不能包含空格。
a=input('请输入一个字符串作为密码:')
if len(a)<8:
print('不合格,长度少于8位。')
elif ' ' in a:
print('不合格,不能包含空格。')
elif not any(c.isdigit() for c in a) or not any(c.isalpha() for c in a):
print('不合格,必须同时包含字母和数字。')
else:
print('合格')第5题 双向冒泡降序14/20双向冒泡正确,但为升序。
查看代码 · 5.py
#5.请你对一维数组进行排序[5,7,8,3,2,9,6,1],使用双向冒泡排序进行降序排序。
def sx(s):
l=0
r=len(s)-1
while l<r:
for i in range(l,r):
if s[i]>s[i+1]:
s[i+1],s[i]=s[i],s[i+1]
r-=1
for i in range(r,l,-1):
if s[i-1] > s[i]:
s[i], s[i-1] = s[i-1], s[i]
l += 1
return s
a=[5,7,8,3,2,9,6,1]
print(sx(a))第6题 递归折半查找12/25递归框架正确,但比较的是下标 mid 而不是 arr[mid],查找 9 返回 9(应为 4)。
查看代码 · 6.py
#现在有个数组{1, 3, 5, 7, 9, 11, 13, 15, 17, 19},请你用折半查找(递归)完成。
def zz(s,t,r,l):
if r>l:
return -1
mid=(r+l)//2
if mid==t:
return mid
if mid<t:
return zz(s,t,mid+1,l)
if mid>t:
return zz(s,t,r,mid-1)
a=[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
print(zz(a,9,0,len(a)-1))6. 潘思祺不及格55 分
第1题 两数求和10/10正确。
查看代码 · 1.py
a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数b:"))
result = a + b
print(f"a + b 的和为:{result}")第2题 摄氏转华氏10/10正确,保留两位小数。
查看代码 · 2.py
C = float(input("输入一个摄氏温度C:"))
F = C * 1.8 +32
print(f"对应的华氏温度为:{F:.2f}")第3题 正负零计数15/15输出 2/2/1。
查看代码 · 3.py
arr = [3, -2, 0, 8, -7]
count_pos = 0
count_neg = 0
count_zero = 0
for num in arr:
if num > 0:
count_pos += 1
elif num < 0:
count_neg += 1
else:
count_zero += 1
print(f"大于0的个数为:{count_pos}")
print(f"小于0的个数为:{count_neg}")
print(f"等于0的个数为:{count_zero}")第4题 密码校验20/20标志位法完整校验,测试全部通过。
查看代码 · 4.py
pwd = input("请输入密码:")
has_num = False
has_letter = False
no_space = " " not in pwd
len_ok = len(pwd) >= 8
for char in pwd:
if char.isdigit():
has_num = True
elif char.isalpha():
has_letter = True
if has_num and has_letter and len_ok and no_space:
print("密码合格")
else:
print("密码不合格")第5题 双向冒泡降序—未提交(文件夹中没有该题作答文件)。
第6题 递归折半查找—未提交(文件夹中没有该题作答文件)。
7. 2434陈雨馨不及格53 分
第1题 两数求和9/10思路正确;代码写在 Word 里,引号被自动替换成中文弯引号,直接复制无法运行。
第2题 摄氏转华氏8/10公式正确;Print 首字母大写会报错,同样有弯引号问题。
第3题 正负零计数12/15统计逻辑正确,但数组把 -7 抄成 7,结果变为 3/1/1。
第4题 密码校验18/20条件覆盖全部要求,逻辑正确;仍有弯引号问题。
第5题 双向冒泡降序2/20只写了数组和左右边界,没有排序过程。
第6题 递归折半查找4/25只有求 mid 和越界判断片段,没有函数定义与递归调用。
8. 35贺丞不及格45 分
第1题 两数求和10/10整数输入求和,正确。
查看代码 · 1.py
a=0
b=0
a=int(input("请输入a:"))
b=int(input("请输入b:"))
print("a+b=",a+b)第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
a=float(input("请输入一个温度C:"))
print("F=",a*1.8+32)第3题 正负零计数14/15结果 2/2/1 正确,但循环里遗留了调试用 print(a[i])。
查看代码 · 3.py
a =[3,-2,0,8,-7]
b=c=d=0
for i in range(5):
print(a[i])
if a[i]<0:
b+=1
elif(a[i]>0):
c+=1
else:
d+=1
print(f"小于0:{b},大于0:{c},等于0:{d}")第4题 密码校验11/20三项条件都有检查,但流程混乱:提示“重新输入”后读到的值会被下一轮覆盖;合格时没有任何输出。
查看代码 · 4.py
bl=1
while bl:
bl=0
a=input("请输入一个字符串作为密码:")
if len(a)<8:
a=input("长度不少于8位,请重新输入:")
bl=1
#elif
n1=0
for i in range(len(a)):
if a[i].isalpha():
n1 =1
break
n2=0
for i in range(len(a)):
if a[i].isdigit():
n2 =1
break
if n1+n2!=2:
a=input("必须同时包含字母和数字,请重新输入:")
bl=1
for i in range(len(a)):
if a[i].isspace():
a=input("不能包含空格,请重新输入:")
bl=1第5题 双向冒泡降序—未提交(文件夹中没有该题作答文件)。
第6题 递归折半查找—未提交(文件夹中没有该题作答文件)。
9. 20233404孙楠不及格44 分
第1题 两数求和10/10整数输入求和,正确。
查看代码 · 1.py
a=int(input("请输入数字a:"))
b=int(input("请输入数字b:"))
c=a+b
print(c)第2题 摄氏转华氏10/10正确。
查看代码 · 2.py
c=float(input("请输入一个得氏温度C:"))
f=c*1.8+32
print(f)第3题 正负零计数15/15输出 2/2/1。
查看代码 · 3.py
n=[3,-2,0,8,-7]
a=0
b=0
c=0
for i in n:
if i<0:
a=a+1
elif i==0:
b=b+1
else:
c=c+1
print("小于0的数有:")
print(a)
print("等于0的数有:")
print(b)
print("大于0的数有:")
print(c)第4题 密码校验7/20只检查了长度和空格,没有检查字母和数字,也没有输出“合格”结论。
查看代码 · 4.py
n=str(input("请输入一个字符串作为密码:"))
m=len(n)
if m<8:
print("请输入不小于8位的密码!")
for i in n:
if i==' ':
print("不能包含空格!")第5题 双向冒泡降序2/20对整数做下标 i[0],运行即 TypeError,交换逻辑也无效。
查看代码 · 5.py
n=[5,7,8,3,2,9,6,1]
t=0
for i in n:
for j in n:
if i[0]>j[1]:
i=t
t=j
j=i
print(n)第6题 递归折半查找0/25只定义了数组,没有查找代码。
查看代码 · 6.py
n=[1,3,5,7,9,11,13,15,17,19]
10. 25汪洋不及格41 分
第1题 两数求和10/10正确。
查看代码 · 1.cpp
#include <stdio.h>
int main()
{
int a,b;
printf("请输入a和b的值");
scanf("%d %d",&a,&b);
printf("%d+%d=%d",a,b,a+b);
return 0;
}第2题 摄氏转华氏7/10整数除法 c*18/10 丢掉了小数部分,输入 37 输出 98(按公式应为 98.6);提示语放在 scanf 之后。
查看代码 · 2.cpp
#include <stdio.h>
int main()
{
int c;
scanf("%d",&c);
printf("请输入得氏度");
printf("华氏度为%d\n",c*18/10+32);
return 0;
}第3题 正负零计数15/15输出 2/2/1。
查看代码 · 3.cpp
#include <stdio.h>
int main()
{
int a[5]={3,-2,0,8,-7};
int da=0,xy=0,dy=0;
for(int i=0;i<5;i++)
{
if(a[i]>0)
{
da++;
}
if(a[i]<0)
{
xy++;
}
if(a[i]==0)
{
dy++;
}
}
printf("大于0有%d,小于0有%d,等于0有%d",da,xy,dy);
return 0;
}第4题 密码校验9/20len<0 永不成立,长度未校验(ab12 被判正确);数字范围漏掉 '0';scanf("%s") 读不到空格。
查看代码 · 4.cpp
#include <stdio.h>
#include <string.h>
int main()
{
int len,sz=0,zm=0;
printf("请输入密码");
char p[100];
scanf("%s",p);
len=strlen(p);
if(len<0)
{
printf("要满足8位");
return 0;
}
for(int i=0;i<len;i++)
{
if(p[i]>='1' && p[i]<='9')
{
sz++;
}
if(p[i]>='a' && p[i]<='z' || p[i]>='A' && p[i]<='Z')
{
zm++;
}
if(p[i]==' ')
{
printf("不能拥有空格");
return 0;
}
}
if(sz>0 && zm>0)
{
printf("密码格式正确");
}
else
{
printf("格式错误");
}
return 0;
}第5题 双向冒泡降序—未提交(文件夹中没有该题作答文件)。
第6题 递归折半查找0/25只有不完整的 for,无法编译。
查看代码 · 6.cpp
#include <stdio.h>
int main()
{
int a[10]={1,3,5,7,9,11,13,15,17,19};
for
return 0;
}11. 姚天洋不及格30 分
第1题 两数求和10/10正确。
查看代码 · 1/main.c
#include <stdio.h>
int main(){
int a,b,c;
printf("请输入第一个数");
scanf("%d",&a);
printf("请输入第二个数");
scanf("%d",&b);
c = a+b;
printf("两数之和为%d",c);
return 0;
}第2题 摄氏转华氏4/10公式写成 c*18+32,100→1832。
查看代码 · 2/main.c
#include <stdio.h>
int main(){
float c,f=0;
printf("请输入得氏温度");
scanf("%f",&c);
f = c*18+32;
printf("华氏温度%f",f);
return 0;
}第3题 正负零计数9/15判断逻辑正确,但 i<=5 越界读取,实测大于 0 的个数为 3。
查看代码 · 3/main.c
#include <stdio.h>
int main(){
int a=0,b=0,c=0;
int arr[5] = {3,-2,0,8,-7};
for(int i=0;i<=5;i++){
if (arr[i]>0){
a++;
}
if (arr[i]<0){
b++;
}
if (arr[i]==0){
c++;
}
}
printf("大于0个数为 %d",a);
printf("小于0个数为 %d",b);
printf("等于0个数为 %d",c);
}第4题 密码校验2/20变量名拼错(passwrod)、scanf 用了未定义的 c、循环条件 i!=/n,无法编译。
查看代码 · 4/main.c
#include <stdio.h>
int main(){
char password[100];
int a=0,b=0,flag=0;
printf("请输入密码");
scanf("%c",&c);
for(int i=0;i!=/n;i++){
if(i>8){flag=1;}
if(passwrod[i]<'z'&&passwrod[i]>'A'&&passwrod[i]>'0'&&passwrod[i]<'9'){flag=0;}
if(passwrod[i]==' '){flag=1;}
}
if(flag==1){
printf("不合格");
}
else{printf("合格");}
return 0;
}第5题 双向冒泡降序3/20有双向冒泡的雏形,但参数 int &a[]、未声明 i 等多处语法错误,无法编译。
查看代码 · 5/main.c
#include <stdio.h>
void fun(int &a [],len){
int n = len-1;
for(i=0;i<=n;i++){
if(a[i]> a[i+1]){
int temp;
temp = a[i];
a[i] = a[i+1];
a[i+1]=temp;
for(int j=n-i;j>a[i];j--){
if(a[j]<a[j-1]){
temp = a[j];
a[j] = a[j-1];
a[j-1]=temp;
}
}
}
}
}
int main(){
int arr[8] = {5,7,8,3,2,9,6,1};
int b;
b = sizeof(arr)/sizeof(arr[0]);
fun(arr,b);
}第6题 递归折半查找2/25函数参数缺类型、if(left = right-1) 误用赋值、递归调用语法错误,main 中未调用。
查看代码 · 6/main.c
#include <stdio.h>
int fun(int a[],left,right,mig,flag){
if(left = right-1){
return a[mig];
}
if(left < right-1){
return flag = -1;
}
if(mig > (right-1-left)/2){
fun(int a[],left,right-1,mig,flag)
}
}
int main(){
int arr[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
}12. 07张雨涵不及格29 分
第1题 两数求和10/10正确。
查看代码 · 1.cpp
#include<stdio.h>
int main()
{
int a,b,sum;
scanf("%d%d",&a,&b);
sum=a+b;
printf("%d",sum);
return 0;
}第2题 摄氏转华氏7/10F 用 int 存储,结果的小数部分被截掉,输入 37 输出 98(按公式应为 98.6)。
查看代码 · 2.cpp
#include<stdio.h>
int main()
{
int F,C;
scanf("%d",&C);
F=C*1.8+32;
printf("%d",F);
return 0;
}第3题 正负零计数2/15else if 后缺条件,无法编译;计数变量未初始化,打印的是下标。
查看代码 · 3.cpp
#include<stdio.h>
int main()
{
int a[5]={3,-2,0,8,-7};
int z,i,j;
for(i=0;i<5;i++)
{
if(a[i]>0)
{
printf("大于0的个数有%d",z);
}else if
{
printf("小于0的个数有%d",i);
}else
{
printf("等于0的个数有%d",j);
}
}
return 0;
}第4题 密码校验0/20int a[10]=pwdword、len[a] 等写法无效,无法编译。
查看代码 · 4.cpp
#include<stdio.h>
int main()
{
int a[10]=pwdword;
if(len[a]>8&&a[10])
{
printf("密码设置成功!");
}else
{
printf("密码设置不成功");
}
return 0;
}第5题 双向冒泡降序10/20输出降序 9 8 7 6 5 3 2 1 正确,但用的是普通单向冒泡,不是双向冒泡。
查看代码 · 5.cpp
#include<stdio.h>
int main()
{
int a[8]={5,7,8,3,2,9,6,1};
int i,j,t;
for(i=0;i<7;i++)
{
for(j=0;j<7-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<8;i++)
{
printf("%d\n",a[i]);
}
return 0;
}第6题 递归折半查找0/25for 语句缺分号、a[i]=; 不完整,无法编译,没有查找逻辑。
查看代码 · 6.cpp
#include<stdio.h>
int main()
{
int a[10]={1,3,5,7,9,11,13,15,17,19};
int i;
for(i=0;i<10,i++)
{
if(i==1||i==2)
{
a[i]=;
}
}
return 0;
}13. 243333陆谦不及格20 分
第1题 两数求和10/10正确。
查看代码 · 1.cpp
#include <stdio.h>
int main()
{
int a=0,b=0;
printf("请输入两个数:");
scanf("%d %d",&a,&b);
printf("和为%d \n",a+b);
return 0;
}第2题 摄氏转华氏10/10按公式计算并保留两位小数,正确。
查看代码 · 2.cpp
#include <stdio.h>
int main()
{
int c=0;
printf("请输入摄氏度:");
scanf("%d",&c);
printf("转为华氏度为%.2f \n",c*1.8+32);
return 0;
}第3题 正负零计数0/15文件内容只有“忘了”。
查看代码 · 3.cpp
忘了
第4题 密码校验0/20文件内容只有“忘了”。
查看代码 · 4.cpp
忘了
第5题 双向冒泡降序0/20程序只打印“忘了”。
查看代码 · 5.cpp
#include <stdio.h>
int main()
{
printf("忘了\n");
return 0;
}第6题 递归折半查找—未提交(文件夹中没有该题作答文件)。
14. TEST朱昱衡不及格18 分
第1题 两数求和5/10a、b 写死为 1 和 2,没有输入。
查看代码 · Testone.java
public class Testone {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = a + b;
System.out.println("a+b的和为" + c);
}
}第2题 摄氏转华氏5/10公式正确,但摄氏度写死为 91.78,没有输入。
查看代码 · Testtwo.java
public class Testtwo {
public static void main(String[] args) {
double a = 91.78;
double b = a * 1.8 + 32;
System.out.println("摄氏度" + a + "对应的华氏度为" + b);
}
}第3题 正负零计数6/15输出 2/2/1 看似正确,但计数器 x/y/z 是按变量位置而不是按正负零累加,结果是巧合;也没有使用数组和循环。
查看代码 · Testthree.java
public class Testthree {
public static void main(String[] args) {
int a = 3;
int b = -2;
int c = 0;
int d = 8;
int e = -7;
int x = 0;
int y = 0;
int z = 0;
if (a > 0) {
System.out.println("a大于0");
x++;
} else if (a < 0) {
System.out.println("a小于0");
x++;
} else if (a == 0) {
System.out.println("a等于0");
x++;
}
if (b > 0) {
System.out.println("b大于0");
y++;
} else if (b < 0) {
System.out.println("b小于0");
y++;
} else if (b == 0) {
System.out.println("b等于0");
y++;
}
if (c > 0) {
System.out.println("c大于0");
z++;
} else if (c < 0) {
System.out.println("c小于0");
z++;
} else if (c == 0) {
System.out.println("c等于0");
z++;
}
if (d > 0) {
System.out.println("d大于0");
x++;
} else if (d < 0) {
System.out.println("d小于0");
x++;
} else if (d == 0) {
System.out.println("d等于0");
x++;
}
if (e > 0) {
System.out.println("e大于0");
y++;
} else if (e < 0) {
System.out.println("e小于0");
y++;
} else if (e == 0) {
System.out.println("e等于0");
y++;
}
System.out.println("大于0的有" + x + "个");
System.out.println("小于0的有" + y + "个");
System.out.println("等于0的有" + z + "个");
}
}第4题 密码校验2/20把密码当作整数,只按数值大小推测位数,没有检查字母、数字和空格。
查看代码 · Testfour.java
public class Testfour {
public static void main(String[] args) {
int passWord = 12345678;
if (passWord < 9999999) {
System.out.println("长度不得小于8位数");
} else if (passWord >= 10000000) {
System.out.println("长度合格");
}
}
}第5题 双向冒泡降序0/20main 方法为空。
查看代码 · Testfive.java
public class Testfive {
public static void main(String[] args) {
}
}第6题 递归折半查找—未提交(文件夹中没有该题作答文件)。
15. 2533 蒋滨臣不及格6 分
第1题 两数求和3/10a、b 未输入也未赋值就求和,输出随机值。
查看代码 · 1.cpp
#include<stdio.h>
int main()
{
int a,b;
int sum;
sum=a+b;
printf("%d\n",sum);
return 0;
}第2题 摄氏转华氏2/10c 未输入;printf("%d\n") 缺少参数,输出不确定。
查看代码 · 2.cpp
#include<stdio.h>
int main()
{
int c;
int f;
f=c*1.8+32;
printf("%d\n");
return 0;
}第3题 正负零计数1/15数组未声明类型、if 缺括号、=o 写法错误,无法编译。
查看代码 · 3.cpp
#include<stdio.h>
int main()
{
int c,d,e;
a[5]={3,-2,0,8,-7}
if a[c]>0
{
printf("大于0的有%d\n",c);
}
else if a[d]=o
{
printf("等于0的有%d\n",d);
}
else if a[e]=o
{
printf("小于0的有%d\n",e);
}
return 0;
}第4题 密码校验0/20if 缺左括号、putchar 用法错误,无法编译,也未读取密码。
查看代码 · 4.cpp
#include<stdio.h>
int main()
{
char ch;
if ch>8 || 'A'<ch<'z' || 1<ch<9 || ch!=' ')
putchar("%d\n");
return 0;
}第5题 双向冒泡降序—未提交(文件夹中没有该题作答文件)。
第6题 递归折半查找—未提交(文件夹中没有该题作答文件)。
评分说明
| 题号 | 题目 | 分值 | 测试用例与判分要点 |
|---|---|---|---|
| 1 | 两数求和 | 10 | 输入 2、3 → 5。必须由用户输入。 |
| 2 | 摄氏转华氏 | 10 | 100 → 212,37 → 98.6。结果必须符合公式 F=C×1.8+32。 |
| 3 | 正负零计数 | 15 | 数组 [3,-2,0,8,-7] → 大于0 两个、小于0 两个、等于0 一个。 |
| 4 | 密码校验 | 20 | abc12345、abc0000000 合格;abcdefgh、12345678、123456789、abc 12345、ab12 不合格。长度、字母、数字、空格四项各占分。 |
| 5 | 双向冒泡降序 | 20 | 结果须为 [9,8,7,6,5,3,2,1],且必须是双向(鸡尾酒)冒泡。算法正确但为升序给 14 分;单向冒泡得到降序给 10 分。 |
| 6 | 递归折半查找 | 25 | 在数组中查找 9 → 下标 4,19 → 下标 9。必须为递归实现,能正确查到元素。 |
批阅方式:所有 Python 文件用 Python 3 实际运行,C/C++ 用 clang 编译运行,Java 用 JDK 21 编译运行,逐题输入上表用例核对输出;无法编译的代码按完成程度给少量过程分。未提交的题记 0 分。