结对项目-四则运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对项目-四则运算相关的知识,希望对你有一定的参考价值。
项目:四则运算
结对伙伴:杜桥
功能:四则运算随机出题,并判断答案是否正确(只实现了正整数运算);
实现:用c#实现,用random.Next()完成随机部分,然后通过判断来检查答案是否正确;
Https:https://git.coding.net/li_yuhuan/CalculateTest.git
SSH:[email protected]:li_yuhuan/CalculateTest.git
代码:
int v1; int v2; int a; char op; char[] ops = new char[]{ ‘+‘, ‘-‘, ‘*‘, ‘/‘,‘/‘};
for (int i = 0; i < 10; i++) { v1 = ran.Next(1, 20); v2 = ran.Next(1, 20); op = ops[ran.Next(3)+ ran.Next(3)];
通过循环结构多次出题,用random.next方法生成随机数。
实现过程中发现random.next(3)循环1000次,都没有出现过3,先后试了网上的几种方法,都未能解决.最后通过两个随机数相加实现了0-4的随机数,当前虽然四种符号都会随机出现,但是概率不等.目前未解决;
if (op == ‘/‘) { while (v1 < v2) { v2 = ran.Next(1, v1); } int mod = v1 % v2; if (mod != 0) { v1 += mod; } }
如果是除法,则要求被除数比除数大,如果随机生成的数不能整除,则把余数加给被除数实现整除;
else if (‘-‘ == op) { while (v1 < v2) { v2 = ran.Next(1, v1); } }
如果是减法,则要求被减数比减数大;
switch (op) { case ‘+‘: { a = v1 + v2; break; } case ‘-‘: { a = v1 - v2; break; } case ‘*‘: { a = v1 * v2; break; } case ‘/‘: { a = v1 / v2; break; } default: { a = 1; break; } }
分情况计算并记录结果;
Console.WriteLine(i +1 + "、" + v1 + op.ToString() + v2 + "="); Console.WriteLine("请输入答案:"); string result = Console.ReadLine();
输出算式,并提示输入答案,读取所输入的数字;
while (!IsNumeric(result)) { Console.WriteLine("输入有误,请输入整数"); result = Console.ReadLine(); } if (int.Parse(result) == a) { Console.WriteLine("回答正确"); } else { Console.WriteLine("回答错误,正确答案是:" + a); }
检测输入的文本是否为整数,不是则提示重新输入;
如果是整数则判断答案是否正确,并给出结果;
运行样例:
以上是关于结对项目-四则运算的主要内容,如果未能解决你的问题,请参考以下文章