懒人的幸福(四则运算出题)

Posted zzmds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了懒人的幸福(四则运算出题)相关的知识,希望对你有一定的参考价值。

 

一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题给孩子;

 

题目要求:1.题目避免重复;2.可随意修改题目的数量;3.乘法运算结果不得超过2位数;

 

package zzm;
import java.util.Random;
import java.util.Scanner;
public class SZYS 
	public static void main(String[] args) 
		int [] d;
		int d1[]=new int[10000];
		int d2[]=new int[10000];
		d=new int [100000];//存储数据上限100000;
		int a,b,c,e;
		int j;
		Scanner in=new Scanner(System.in);
		System.out.println("请输入你要生成题目的数量:");
		e=in.nextInt();
		int temp;
		System.out.println();
		for(int i=0;i<e;i++) 
		Random r=new Random(); //利用随机数实现
		    a=r.nextInt(100)+1; 
		    b=r.nextInt(100)+1;
		 if(a<b)//避免出现负数;
		 
			 temp=a;
			 a=b;
			 b=temp;
		 
		 d1[i]=a;
		 d2[i]=b;
		 for( j=0;j<i;j++)
		 
			 if(d1[j]==a&&d2[j]==b)
			 
				 a=r.nextInt(100)+1;
				 b=r.nextInt(100)+1;
			 
			 if(a<b)//避免出现负数;
			 
				 temp=a;
				 a=b;
				 b=temp;
			 
		 
		 //i 打印题目序号;
		    switch(r.nextInt(4)+1) 
		    case 1:
		     System.out.println((i+1)+". "+a+"+"+b+"=");
		     d[i]=a+b;
		     break;
		    case 2:
		     System.out.println((i+1)+". "+a+"-"+b+"=");
		     d[i]=a-b;
		     break;
		    case 3:
		    while(a*b>100)
		    
		    	a=r.nextInt(100)+1;
		        b=r.nextInt(100)+1; 
		    
		     System.out.println((i+1)+". "+a+"*"+b+"=");//乘积不超过两位
		     d[i]=a*b;
		     break;
		    case 4:
		     while((c=a%b)!=0||b==0) 
		         a=r.nextInt(100)+1;
		         b=r.nextInt(100)+1;
		     
		     System.out.println((i+1)+"."+a+"/"+b+"=");//整除 和除法的实现
		     d[i]=a/b;
		     break;
		    

	

  设计思路:0利用Random函数实现随机出题;设置3个存储数组,目的:判断重复性;一个存储a?b的数据,其余分别存储a和b的数据;

 

以上是关于懒人的幸福(四则运算出题)的主要内容,如果未能解决你的问题,请参考以下文章

四则运算出题3

网页版的四则运算出题

四则运算 出题项目

小学生四则运算出题系统——计应193许颖然

《结对-四则运算出题器-测试过程》

《结对-四则运算出题器-测试过程》