您现在的位置是:主页 > news > 高校网站开发/推广吧

高校网站开发/推广吧

admin2025/5/9 3:08:01news

简介高校网站开发,推广吧,山东网站建设是什么,网站建设测试事业运程四则运算出题机 今天,老师给学生留了一项任务,让他的家长每天给他出三十道题,而且都是两位数的加减乘除运算(因为孩子上二年级),身为一个IT人员,怎能去认真的写30道题呢?于是&#x…

高校网站开发,推广吧,山东网站建设是什么,网站建设测试事业运程四则运算出题机 今天,老师给学生留了一项任务,让他的家长每天给他出三十道题,而且都是两位数的加减乘除运算(因为孩子上二年级),身为一个IT人员,怎能去认真的写30道题呢?于是&#x…

四则运算出题机

今天,老师给学生留了一项任务,让他的家长每天给他出三十道题,而且都是两位数的加减乘除运算(因为孩子上二年级),身为一个IT人员,怎能去认真的写30道题呢?于是,聪明的IT爸爸就写了一个四则运算出题机。

要求:

 

 

我们来说一下解题思路:

1.首先利用随机数生成3个数字,第一个是第一个数,第二个是第二个数,第三个数是符号数;

2.输入数量和每行打印的个数

3.利用分支结构来输出等式

4.当等式输出后,将这三个数存入数组,每次近来三个数要判断是否与之前的重复,重复则重新输入。

代码:

package com.大数计算;import java.util.Scanner;public class cal {public static void main(String[] args) {// TODO Auto-generated method stubchar[] c = new char[5];int i;c[1] = '+';c[2] = '-';c[3] = '*';c[4] = '/';Scanner in = new Scanner(System.in);int k, p;System.out.println("请输入题的个数");k = in.nextInt();//输入题的个数System.out.println("请输入一行打印几个数");p = in.nextInt();//每行打印多少个算式int [][]g=new int[1000000][3];//用来存储第一个数,第二个数和符号数int []f=new int[10000000];//标记该数字是否已经换行使用过了int v1, v2, v3,flag=0,n=0;//分别是第一个数,第二个数,和符号数,标记值,数组总个数for (i = 1; i <= k;) //进行k次循环
        {flag=0;v1 = (int) (Math.random() * 100);//获取第一个两位数的随机数v2 = (int) (Math.random() * 100);//获取第二个两位数的随机数v3 = (int) (1 + Math.random() * 4);//获取符号的随机数for(int j=0;j<n;j++){if(g[j][0]==v1&&g[j][1]==v2&&g[j][2]==v3){flag=1;break;}}if(flag==1)continue;if (c[v3] == '+'){System.out.print(i + ":" + v1 + "+" + v2 + "=" + " ");i++;}if (c[v3] == '-') {if (v1 >= v2)//减法不能为负数
                    {System.out.print(i + ":" + v1 + "-" + v2 + "=" + " ");i++;}elsecontinue;}if (c[v3] == '*'){if (v1 * v2 < 100)//乘法之积要小于两位数
                    {System.out.print(i + ":" + v1 + "*" + v2 + "=" + " ");i++;} elsecontinue;}if (c[v3] == '/'){if (v2!=0&&v1 % v2 == 0)//除法保证能整除且分母不为零
                    {System.out.print(i + ":" + v1 + "/" + v2 + "=" + " ");i++;} elsecontinue;}g[n][0]=v1;g[n][1]=v2;g[n][2]=v3;n++;if ((i-1)%p==0&&f[i]==0){f[i]=1;System.out.println();}}}
}

 

转载于:https://www.cnblogs.com/xiaofengzai/p/11530922.html