四则运算出题

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

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];
        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);
                b2=(int)(Math.random()*100);
                b3=(int)(Math.random()*4);
                if(b3==0)
                {
                    if(w3[b1]==1)
                    {
                        if(w4[b2]==1)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        w3[b1]=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)
                    break nn;
                ++a1;
                ++a2;
            }
        }
    }
}

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

猜你喜欢

转载自www.cnblogs.com/dazhi151/p/11530960.html