您的位置:首页 > 博客中心 > 互联网 >

结对项目-四则运算

时间:2022-04-30 09:55

项目:四则运算

结对伙伴:杜桥

功能:四则运算随机出题,并判断答案是否正确(只实现了正整数运算);

实现:用c#实现,用random.Next()完成随机部分,然后通过判断来检查答案是否正确;

Https:https://git.coding.net/li_yuhuan/CalculateTest.git

SSH:git@git.coding.net: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);
                }

检测输入的文本是否为整数,不是则提示重新输入;

如果是整数则判断答案是否正确,并给出结果;

 

 

运行样例:

技术分享

技术分享

 

本类排行

今日推荐

热门手游