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分
等级
12433高琦盛Python
94
101015201425优秀
12433王可轩Python
94
101015201425优秀
3杨明仁Python
90
101015201025优秀
420233235袁增睿Python
83
10108102025良好
5253129张晋炜Python
81
101015201412良好
6潘思祺Python
55
10101520——不及格
72434陈雨馨Word 文档
53
98121824不及格
835贺丞Python
45
10101411——不及格
920233404孙楠Python
44
101015720不及格
1025汪洋C
41
107159—0不及格
11姚天洋C
30
1049232不及格
1207张雨涵C
29
10720100不及格
13243333陆谦C
20
1010000—不及格
14TEST朱昱衡Java
18
55620—不及格
152533 蒋滨臣C
6
3210——不及格
满分得分 ≥60%得分 <60%0 分未提交鼠标悬停单元格可看扣分原因

各题得分情况

第1题 · 两数求和

满分 10 · 满分人数 12 · 未提交 0
91%

绝大多数同学完成。失分点:没有按题意输入、直接写死数值(TEST朱昱衡);变量未赋值就参与运算(2533 蒋滨臣)。

第2题 · 摄氏转华氏

满分 10 · 满分人数 9 · 未提交 0
82%

主要问题是用 int 存放计算结果或做整数除法,导致结果小数被截掉(07张雨涵、25汪洋),以及公式把 1.8 写成 18(姚天洋)。

第3题 · 正负零计数

满分 15 · 满分人数 7 · 未提交 0
70%

多数正确。典型错误:if 与 if/else 混用使条件不互斥,零被多计(20233235袁增睿);循环 i<=5 数组越界(姚天洋);题目数据抄错(2434陈雨馨)。

第4题 · 密码校验

满分 20 · 满分人数 5 · 未提交 0
53%

Python 组普遍掌握 any() / isalpha() / isdigit()。易错点:长度边界写成 <=8、用 isalnum() 代替判断字母、只检查部分条件;C 语言中 scanf("%s") 读不到空格、数字范围漏掉 '0'。

第5题 · 双向冒泡降序

满分 20 · 满分人数 1 · 未提交 4
30%

全班失分最多的一题。4 名同学(高琦盛、王可轩、杨明仁、张晋炜)双向冒泡写得正确,但比较方向导致升序;只需把 > 改成 < 即可得到降序。仅 20233235袁增睿 得到要求的降序结果。

第6题 · 递归折半查找

满分 25 · 满分人数 4 · 未提交 5
31%

能写出完整递归的有 4 人。张晋炜比较的是下标 mid 而不是 arr[mid];另有 10 人未提交、只有片段或代码无法运行。

逐人逐题评语

点击姓名展开,每题可查看学生原始代码。

1. 2433高琦盛Python · 提交 6/6 题优秀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王可轩Python · 提交 6/6 题优秀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. 杨明仁Python · 提交 6/6 题优秀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袁增睿Python · 提交 6/6 题良好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张晋炜Python · 提交 6/6 题良好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. 潘思祺Python · 提交 4/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陈雨馨Word 文档 · 提交 6/6 题不及格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 和越界判断片段,没有函数定义与递归调用。

该生以 Word 文档(2026技能节.docx)提交,未提供可运行的源代码文件,代码按文档内容人工阅读批改。

8. 35贺丞Python · 提交 4/6 题不及格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孙楠Python · 提交 6/6 题不及格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汪洋C · 提交 5/6 题不及格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. 姚天洋C · 提交 6/6 题不及格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张雨涵C · 提交 6/6 题不及格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陆谦C · 提交 5/6 题不及格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朱昱衡Java · 提交 5/6 题不及格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 蒋滨臣C · 提交 4/6 题不及格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摄氏转华氏10100 → 212,37 → 98.6。结果必须符合公式 F=C×1.8+32。
3正负零计数15数组 [3,-2,0,8,-7] → 大于0 两个、小于0 两个、等于0 一个。
4密码校验20abc12345、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 分。