考试系统

package java34;
import java.util.*;

public class 学生问答 {

    public static void main(String[] args) {
        int n;
        System.out.print("考试开始:请老师输入试卷题目数"+"\n");
        Scanner sc=new Scanner(System.in);//输入
        n=sc.nextInt();
        timu(n);
        // TODO Auto-generated method stub

    }
    
    public static void timu(int n){
        float a[]=new float[n];//存答案
        float q[]=new float[n];//学生答案
        int bj[]=null;//排序
        int c,b,i,j,w1;
        for(j=0;j<n;j++){
            
            c=num1(0,100);
            b=num1(0,100);//+-*/
            w1=num1(1,10);//排序
            i=num1(1,6);//题型
            bj=new int[w1];//排序分配空间
            switch(i)
            {
                case 1:
                    System.out.println(j+". "+c+"+"+b);
                    a[j]=c+b;
                    q[j]=studentq();
                    break;
                case 2:
                    System.out.println(j+". "+c+"-"+b);
                    a[j]=c-b;
                    q[j]=studentq();
                    break;
                case 3:
                    System.out.println(j+". "+c+"*"+b);
                    a[j]=c*b;
                    q[j]=studentq();
                    break;
                case 4:
                    System.out.println(j+". "+c+"/"+b);
                    if(b==0)
                        b=num1(1,1000);
                    a[j]=(float) (1.0*c/b);
                    q[j]=studentq();
                    break;
                case 5:
                    System.out.println(j+". "+"请找出这行数中的最大值:");
                    for(int w=0;w<w1;w++)
                    {
                        int e=num1(0,1000);
                        bj[w]=e;
                        System.out.print(e+"\t");
                    }
                    System.out.print("\n");
                    a[j]=getmax(bj);
                    q[j]=studentq();
                    break;
                case 6:
                    System.out.println(j+". "+"请找出这行数中的最小值:");
                    
                    for(int w=0;w<w1;w++)
                    {
                        int e=num1(0,1000);
                        bj[w]=e;
                        System.out.print(e+"\t");
                    }
                    System.out.print("\n");
                    a[j]=getmin(bj);
                    q[j]=studentq();
                    break;
            }
        }
        jadge(n,a,q);
    }
    //产生随机数
    public static int num1(int min,int max){
            int i;
            Random rand=new Random();
            i=rand.nextInt(max-min+1)+min;
            //System.out.println("随机数为"+i);
            return i;
        }
    
    public static int getmax(int data[])
    {
        int temp=data[0];
        for(int i=0;i<data.length;i++)
            if(temp<data[i])
                temp=data[i];
        return temp;
    }
    public static int getmin(int data[])
    {
        int temp=data[0];
        for(int i=0;i<data.length;i++)
            if(temp>data[i])
                temp=data[i];
        return temp;
    }
    public static float studentq(){
        float sq;
        System.out.print("请答题:");
        Scanner sc=new Scanner(System.in);//输入
        sq=sc.nextInt();

        return sq;
    }
    public static void jadge(int n,float ans[],float stdans[]){
        int i,j=0;
        System.out.print("错误题目为:");
        for(i=0;i<n;i++)
        {
            if(ans[i]!=stdans[i])
                {
                    System.out.print(i+"   ");    
                    j++;    
                }
        }
    System.out.println("\n"+"本次考试共有"+n+"道题"+","+"答错"+j+"道题");
    System.out.println("满分:"+n+";"+"得分:"+(n-j));
    if(j==0)
        System.out.println("恭喜你全部答对!请继续保持");
        
    }

}

 

posted @ 2017-10-23 08:38  张畅  阅读(141)  评论(0)    收藏  举报