题目:
小学老师要每周给同学出300道四则运算练习题。
–这个程序有很多种实现方式:
C/C++
C#/VB.net/Java
Excel
Unix Shell
Emacs/Powershell/Vbscript
Perl
Python
–两个运算符,100 以内的数字,不需要写答案。
–需要检查答案是否正确,并且保证答案在 0..100 之间
–尽可能地多设置一些条件
我们二人选择了c++语言实现该项目
伙伴:2252708
过程:
在本次编译过程中,由我和我的伙伴合作,一个同学coding,另一个同学在旁边审核代码,之后再交换角色
代码:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
// 生成随机数
int generateRandomNumber(int min, int max) {
return rand() % (max - min + 1) + min;
}
// 生成随机运算符
char generateRandomOperator() {
char operators[] = { '+', '-', '*', '/' };
return operators[rand() % 4];
}
// 计算表达式结果
double calculateExpression(int num1, char op1, int num2, char op2, int num3) {
double result = num1;
switch (op1) {
case '+':
result += num2;
break;
case '-':
result -= num2;
break;
case '*':
result *= num2;
break;
case '/':
if (num2 != 0) {
result /= num2;
}
break;
}
switch (op2) {
case '+':
result += num3;
break;
case '-':
result -= num3;
break;
case '*':
result *= num3;
break;
case '/':
if (num3 != 0) {
result /= num3;
}
break;
}
return result;
}
int main() {
srand(time(0)); // 设置随机种子
const int numQuestions = 300;
for (int i = 0; i < numQuestions; ++i) {
int num1 = generateRandomNumber(0, 100);
int num2 = generateRandomNumber(0, 100);
int num3 = generateRandomNumber(1, 100); // 保证除数不为0
char op1 = generateRandomOperator();
char op2 = generateRandomOperator();
// 输出练习题
cout << num1 << ' ' << op1 << ' ' << num2 << ' ' << op2 << ' ' << num3 << " = ?" << endl;
// 用户输入答案
double userAnswer;
cout << "请输入答案: ";
cin >> userAnswer;
// 计算正确答案
double correctAnswer = calculateExpression(num1, op1, num2, op2, num3);
// 检查答案是否正确以及是否在0到100之间
if (correctAnswer >= 0 && correctAnswer <= 100 && fabs(userAnswer - correctAnswer) < 1e-6) {
cout << "回答正确!" << endl;
}
else {
cout << "回答错误!" << endl;
}
}
return 0;
}
运行结果:
合作心得:
在此编译过程中,我们相互协作、共同工作来完成任务。我们互相从对方身上学到了可取之处,例如:代码编译的规范化、编程的技巧和思维方式,这使得我们互相启发进步。
当遇到问题、bug的时候,对方会更容易发现自身没能迅速找到的问题。共同解决问题也使得我们的效率得到了很大的提高,两个人共同编写代码,可以更好地进行代码审查和质量控制,确保代码的可读性、可维护性和稳定性。每个人都有自己的专长和弱点,结对编程可以让擅长不同领域的两个人相互补充,共同解决问题,提高效率。结对编程过程中,可以及时地给对方反馈和建议,帮助对方发现问题、改进代码,避免出现潜在的bug。
并且当有一个人在监督你的时候你会发现这会大大减少混乱和分心,提高工作效率,快速解决问题。