四则运算(结对编程选作)
一 题目: 自动生成100到四则运算题目 二 基本要求: 1、除了整数以外,还能支持真分数的四则运算。 2、对实现的功能进行描述,并且对实现结果要求截图。 三 编程环境:本次编程使用的是C语言,编程软件使用的是Linux。 四 主要功能:程序自动出来100道题目让你运算,其中包括整数与真分数的加减乘除运算。 五 四则运算的代码: ??public class Calculate { ?? public String randomNum() { ??????? int dividend = (int) (Math.random() * 10);// 随机生成被除数 ??????? int divisor = (int) (Math.random() * 10);// 随机生成除数 ??????? if (dividend >= divisor) { ??????????? int temp = dividend; ??????????? dividend = divisor; ??????????? divisor = temp; ??????? } ??????? return ("(" + dividend + "/" + divisor + ")"); ??? } ? ??? public static void main(String[] args) { ? ? ?? String divFirstNum = null; ??????? String divSecondNum = null; ? ? ? ? int k; ??????? int count = 100; ??????? Calculate calculate = new Calculate(); ??????? for (int n = 1; n <= count; n++) { ? ? ? ? divFirstNum = calculate.randomNum(); ??????????? divSecondNum = calculate.randomNum(); ? ? ? ? ? ? int first = (int) (Math.random() * 100);//算术表达式中的第一个数 ??????????? int second = (int) (Math.random() * 100);//算术表达式中的第二个数 ? ? ? ? ? ? switch ((int) (Math.random() * 4)) { ? ??????????? case 0: ??????????????? k = (int) (Math.random() * 3); ???? ???????????if (k == 0) ??????????????????? System.out.println(n +": "+ first + "+" + second + "="); ??????????? ????else if (k == 1) ??????????????????? System.out.println(n +": "+divFirstNum + "+" + second + "="); ??????????????? else if (k == 2) ??????? ????????????System.out.println(n +": "+divSecondNum + "+" + divFirstNum + "="); ??????????????? break; ???????? ???case 1: ??????????????? k = (int) (Math.random() * 3); ??????????????? if (first < second) { ??????????????????? int temp = first; ????????? ??????????first= second; ??????????????????? second = temp; ??????????????? } ??????????????? if (k == 0) System.out.println(n +": "+first + "-" + second + "="); ??????????????? else if (k == 1) ??????????????????? System.out.println(n +": "+second + "-" + divFirstNum + "="); ??????????????? else if (k == 2) ??????????????????? System.out.println(n +": "+divSecondNum + "-" + divFirstNum + "="); ??????????????? break; ??????????? case 2: ??????????????? k = (int) (Math.random() * 3); ??????????????? if (k == 0) ??????????????????? System.out.println(n +": "+first + "*" + second + "="); ??????????????? else if (k == 1) ??????????????????? System.out.println(n +": "+divFirstNum + "*" + second + "="); ??????????????? else if (k == 2) ??? ????????????????System.out.println(n +": "+divSecondNum + "*" + divFirstNum + "="); ??????????????? break; ??????????? case 3: ??????????????? while (second == 0) ??????????????????? second = (int) (Math.random() * 100); ??????????????? System.out.println(n +": "+first + "/" + second + "="); ??????????????? break; ??????????? } ??????? } ??? } ? } 程序运行截图: ? ? 学习总结及体会:第一次跟同学一起组队编程,感觉非常棒。尤其是在一起策划题目和提出方法的策略思路时,感觉到组队的好处和优势。也发现到自己的在C语言上的欠缺(在这里很感谢吴同学的帮助)。最后,希望在以后的日子里能够有更多的组多机会! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |