- 小学老师要每周给同学出300道四则运算练习题。
–这个程序有很多种实现方式:
C/C++
C#/VB.net/Java
Excel
Unix Shell
Emacs/Powershell/Vbscript
Perl
Python
–两个运算符,100 以内的数字,不需要写答案。
–需要检查答案是否正确,并且保证答案在 0..100 之间
合作伙伴:2252522
代码如下
`#include <stdio.h>
include <stdlib.h>
include <time.h>
// 生成随机数
int generateRandomNumber() {
return rand() % 101; // 生成0到100之间的随机数
}
// 生成随机运算符
char generateRandomOperator() {
char operators[] = { '+', '-', '*', '/' };
int index = rand() % 4; // 生成0到3之间的随机数
return operators[index];
}
// 计算表达式结果
int calculate(int num1, char op1, int num2, char op2, int num3) {
int result1, result2;
switch (op2) {
case '':
case '/':
if (op1 == '+' || op1 == '-') {
if (op1 == '+') {
result2 = (op2 == '') ? num2 * num3 : num2 / num3;
result1 = op1 == '+' ? num1 + result2 : num1 - result2;
} else {
result2 = (op2 == '') ? num2 * num3 : num2 / num3;
result1 = num1 + result2;
}
} else {
if (op2 == '') {
result1 = num1 * num2;
result2 = result1 * num3;
} else {
result1 = num1 * num2;
result2 = result1 / num3;
}
}
break;
default:
if (op1 == '+' && op2 == '+') {
result1 = num1 + num2;
result2 = result1 + num3;
} else if (op1 == '+' && op2 == '-') {
result1 = num1 + num2;
result2 = result1 - num3;
} else if (op1 == '-' && op2 == '+') {
result1 = num1 - num2;
result2 = result1 + num3;
} else if (op1 == '-' && op2 == '-') {
result1 = num1 - num2;
result2 = result1 - num3;
}
}
return result2;
}
int main() {
srand(time(0)); // 初始化随机数种子
for (int index = 1; index <= 300; ++index) {
int num1 = generateRandomNumber();
int num2 = generateRandomNumber();
int num3 = generateRandomNumber();
char op1 = generateRandomOperator();
char op2 = generateRandomOperator();
// 计算正确答案
int correctAnswer = calculate(num1, op1, num2, op2, num3);
// 输出题目
printf("%d. %d %c %d %c %d = ?\n", index, num1, op1, num2, op2, num3);
// 输入学生答案进行检查
int studentAnswer;
scanf("%d", &studentAnswer);
// 检查答案是否正确
if (studentAnswer == correctAnswer && studentAnswer >= 0 && studentAnswer <= 100) {
printf("回答正确\n");
} else {
printf("回答错误\n");
}
}
return 0;
}
`
总结
结对编程的体验让我深刻感受到合作的力量。与搭档一同面对编程挑战,我们互补技能,共同寻找最佳解决方案。在交流中,我不断提升自己的沟通技巧,也学会了倾听与理解。同时,结对编程也让我看到自己的不足,从而激发我更加努力地提升自己的技术能力。虽然过程中偶尔会有分歧,但正是这些分歧促使我们更深入地思考和讨论,最终达成更完善的方案。总的来说,结对编程不仅提高了编程效率,也锻炼了我的团队协作和沟通能力,是一次宝贵的经历。