• 四则运算出题


    题目:对于小学生的四则运算进行出题,数字都是系统任意选出。并标明题号,对于每一个题目不重复出现。并且要保证两个数相乘是两位数或者是一位数。对于相除的两个数除数不能为零,并且可以整除。自己可以控制题目的总数目,以及每行输出的个数都可以控制。

    package LianXi;
    import java.util.Scanner;
    class sizeyunsuan
    {
        public static void main(String []args)
        {
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入想要输出的题目数目:");
            int w1=scan.nextInt();
            System.out.println("请输入每行想要输出的题目数目:");
            int w2=scan.nextInt();
            int a1,a2;
            int b1,b2,b3;
            int w3[]=new int[100];//创建八个数组初始化全为0
            int w4[]=new int[100];
            int w5[]=new int[100];
            int w6[]=new int[100];
            int w7[]=new int[100];
            int w8[]=new int[100];
            int w9[]=new int[100];
            int w10[]=new int[100];
            char wen[]= {'+','-','*','/'};
            nn:for(a1=1;a1<=w1;)
            {
                for(a2=1;a2<=w2;)
                {
                    b1=(int)(Math.random()*100);//随机产生0到99之间的数字
                    b2=(int)(Math.random()*100);
                    b3=(int)(Math.random()*4);//随机产生0到3之间的数字。
                    if(b3==0)//是+的符号是时候
                    {
                        if(w3[b1]==1)
                        {
                            if(w4[b2]==1)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            w3[b1]=1;//当出现相应的数字时,对应数组位置赋值为1,以此来判断是否出现该数字
                            w4[b2]=1;
                        }
                    }
                    if(b3==1)//当符号为-的时候
                    {
                        if(b1>=b2)
                        {
                            if(w5[b1]==1)
                            {
                                if(w6[b2]==1)
                                {
                                    continue;
                                }
                            }
                            else
                            {
                                w5[b1]=1;
                                w6[b2]=1;
                            }
                        }
                        else
                            continue;
                    }
                    if(b3==2)//当符号是*时候进行的操作
                    {
                        if((b1*b2)/100==0)
                        {
                            if(w7[b1]==1)
                            {
                                if(w8[b2]==1)
                                {
                                    continue;
                                }
                            }
                            else
                            {
                                w7[b1]=1;
                                w8[b2]=1;
                            }
                        }
                        else
                            continue;
                    }
                    if(b3==3)//当符号为\时候进行的操作
                    {
                        if(b2!=0&&b1%b2!=0)
                        {
                            continue;
                        }
                        if(b2==0)
                        {
                            continue;
                        }
                        if(w9[b1]==1)
                        {
                            if(w10[b2]==1)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            w9[b1]=1;
                            w10[b2]=1;
                        }
                    }
                    if(true)
                    {
                        if(a2!=w2)
                            System.out.print(a1+": "+b1+wen[b3]+b2+"=   ");
                        else
                            System.out.println(a1+": "+b1+wen[b3]+b2+"=   ");
                    }
                    if(a1==w1)//跳出最外面的for循环
                        break nn;
                    ++a1;
                    ++a2;
                }
            }
        }
    }

    定义多个数组大小为100并且全部初始化为0,在相应的符号中判断对应的数字是否出现。将对应的数组位置对应的值变为1,之后直接判断数字对应位置中的值是1还是0.依次来判断之前是否出现过。最后决定是否输出。自己收获了很多。

  • 相关阅读:
    sql增删改查-转载
    委托和事件 链接
    三层架构-转载
    ToList()方法
    Invoke--转载
    C# 6.0新特性---语法糖
    索引器
    HBase学习总结(1)
    教程-关于Owner和Parent的区别
    问题-在TreeView使用时,发现选中的树节点会闪烁或消失
  • 原文地址:https://www.cnblogs.com/dazhi151/p/11530960.html
Copyright © 2020-2023  润新知