确定练习任务

练习要求读取一组整数,计算平均值,并处理空输入。输入输出示例先写在题目中,学生先画出处理步骤,再开始写代码。

学生可以使用 DeepSeek 或通义千问查询语法。任务、输入和预期结果保持固定,这样课后比较时能看出问题发生在概念、语法还是测试环节。

输入,3 5 7
输出,5

输入,空行
输出,提示没有可计算的数据

提交可核对的问题

提问需要包含当前代码、编译器错误和已经尝试过的修改。只提交一句「帮我写出来」无法说明学生遇到的具体问题,也无法判断回答是否有效。

请解释 range-for 中 const auto& 的作用。
下面是我现在的循环和编译错误。
请只指出需要修改的行,不要重写整个函数。

DeepSeek 和通义千问的回答需要逐条对应到代码。学生把有用的部分复制到笔记中,再用自己的话说明选择理由。

运行和测试回答

回答进入代码后,需要重新编译和测试。测试至少包含正常输入、单个数字、空输入和负数。每个结果都记录下来,错误信息也保留。

g++ -std=c++20 -Wall -Wextra average.cpp -o average
./average

printf "3 5 7\\n" | ./average
printf "\\n" | ./average
AI 回答只提供参考信息。课堂评价看代码能否运行、学生能否说明每个变量、学生能否根据新输入修改程序。

保留修改过程

课后整理四项内容,原始代码、提问文本、工具回答和最终代码。下次练习优先使用重复出现的错误,题目难度保持在学生能够独立验证的范围内。

目前的观察是,语法查询适合交给 AI,程序结构和边界设计需要更多独立讨论。工具越早直接给出完整实现,学生越难说明代码为什么这样组织。

下一篇,std::vector 的常用操作 返回文章列表