欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java作业

程序员文章站 2022-03-26 17:07:58
java 和 c++有很多重复的地方,感觉比较方便15.n个数组在数组a中,将数据从小到大排列,插入x使数据依旧从小到大排列。package ttt;import java.util.Scanner;public class rr { public static int num=10; public static void printA(double []arr) { for(double i:arr) System.out.print(i+" "); Syste...

java 和 c++有很多重复的地方,感觉比较方便

15.n个数组在数组a中,将数据从小到大排列,插入x使数据依旧从小到大排列。
package ttt;
import java.util.Scanner;
public class rr {
  public static int num=10;
  public static void printA(double []arr)
  {
    for(double i:arr)
    System.out.print(i+" ");
    System.out.println("");
  }
   public static int find(double []arr,double x)//找到x前面的数然后插在它后面
  {
    int pos=-1;
    for(int i=0;i<arr.length;i++)
    if(arr[i]>x){pos=i-1;break;}
    return pos;
  }
    public static void sort(double []arr)
  {
    double temp=0;
    for(int i=0;i<num;i++)
    for(int j=i+1;j<num;j++)
    {
      if(arr[i]>arr[j])
      {
        temp=arr[i];
        arr[i]=arr[j];
        arr[j]=temp;
      }
      
    }
    
  }
  public static void insert(double []arr,double x)
  {
    int inpos=0;
    inpos=find(arr,x);
    int len=arr.length-1;
    while(len>inpos+1)
    {
      arr[len]=arr[len-1];
      len--;
      
    }
    arr[inpos+1]=x;
    num++;
    
  }
  public static void main(String [] args)
  {
    Scanner cin=new Scanner(System.in);
double[]arr=new double[20];
System.out.println("输入10个数");
    for(int i=0;i<arr.length/2;i++)
    arr[i]=cin.nextDouble();
    sort(arr);
double x;
System.out.println("输入要插入的数");
    x=cin.nextDouble();
insert(arr,x);
System.out.println("结果是");
    printA(arr);
    cin.close();
    
  }

}




16.20个学生,每个学生一学期有五门成绩,学校发给超出平均分10%学生二等奖,20%学生一等奖,请将他们的学号和姓名打印出来。

package hw;
import java.util.Scanner;
public class Test {
	public static class Student 
	{
		Student()
		{
			
		}
	     Student(Student k)
		{
	    	 for(int i=0;i<grade.length;i++)
	 			grade[i]=k.grade[i];
	 			totGra=k.totGra;
	 			id=k.id;
		}
		public double grade[]=new double[5];
		public  double totGra;
		public  String id;
		public String name;
		public  void getsum()//计算各科成绩和
		{
			totGra=0;
			for(int i=0;i<grade.length;i++)
				totGra+=grade[i];
		}
		public void show()//展示基本信息

		{
			System.out.println("学号:"+id+"姓名:"+name);
			System.out.println("各门课程成绩");
			for(int i=0;i<grade.length;i++)
				System.out.print(grade[i]+" ");
			System.out.print('\n');
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student arr[]=new Student[20];
		for(int i=0;i<arr.length;i++)
			arr[i]=new Student();
		Scanner cin=new Scanner(System.in);
		double sum=0;
		for(int i=0;i<arr.length;i++)
		{
System.out.println("输入学生的学号");
			arr[i].id=cin.next();
System.out.println("输入学生的姓名");
			arr[i].name=cin.next();
System.out.println("输入学生的5次成绩");
			for(int s=0;s<arr[i].grade.length;s++)
			{
				arr[i].grade[s]=cin.nextDouble();
			}
			arr[i].getsum();
			sum+=arr[i].totGra;
		}
		sum/=20;
		double second=sum*1.1,first=sum*1.2;
		System.out.println("二等奖获得者");
		for(int i=0;i<20;i++)
		{
		  
		  if(arr[i].totGra>=second)
		  arr[i].show();
		  
  }
  
			System.out.println("一等奖获得者");
		for(int i=0;i<20;i++)
		{
		  
		  if(arr[i].totGra>=first)
		  arr[i].show();
		  
  }
		cin.close();
	}
	 

}

17.体操运动员获得10次评分,去掉一个最低分和一个最高分后,将他们姓名排名各次评分打印出来。
package hw;
import java.util.Scanner;
public class Test {
 public static class joiner
	  {
	    joiner()
	    {
	    	
	    }
	    joiner(joiner k)
	    {
	      totgra=k.totgra;
	      name=k.name;
	      for(int i=0;i<score.length;i++)
	      k.score[i]=score[i];
	      
    }
	    public double score[]=new double[10];
	    public double totgra;
	    public String name;
	    public void getgra()
	    {
	      totgra=score[0];
	      double maxx=score[0],minn=maxx;
	      for(int i=1;i<score.length;i++)
	      {
	        totgra+=score[i];
	        if(maxx<score[i])
	        maxx=score[i];
	        if(minn>score[i])
	        minn=score[i];
       }
      totgra-=minn+maxx;
	      
     }
     public boolean compare(joiner B)//判断类之间大小关系
	    {
	      
	      if(totgra>B.totgra)return true;
	      
	      return false;
    }
    public  void show()//基本信息
    {
      
      System.out.println("得分情况");
      for(int i=0;i<score.length;i++)
      System.out.print(score[i]+" ");
      System.out.print("\n");
    }
  }
  public static void sort(joiner []ac)//冒泡排序
  {
    joiner three;
    for(int i=0;i<ac.length;i++)
    for(int j=i+1;j<ac.length;j++)
    {
      if(ac[i].compare(ac[j]))
      {
        three=ac[i];
        ac[i]=ac[j];
        ac[j]=three;
      }
      
    }
    
    
    
  }
  public static void main(String []args)
  {
    joiner [] joke=new joiner[20];
    for(int i=0;i<joke.length;i++)
    	joke[i]=new joiner();
Scanner cin=new Scanner(System.in);
	
    for(int i=0;i<joke.length;i++)
{
System.out.println("输入选手名字");
      joke[i].name=cin.next();
System.out.println("输入选手的10次成绩");
      for(int j=0;j<joke[i].score.length;j++)
      joke[i].score[j]=cin.nextDouble();
      joke[i].getgra();
    }
    sort(joke);
    for(int i=0;i<joke.length;i++){
     System.out.print("第"+(i+1)+"名 "+joke[i].name+" "+joke[i].totgra);
    joke[i].show();
    }
    
    cin.close();
  }

}

本文地址:https://blog.csdn.net/m0_47576396/article/details/109273512

相关标签: JAVA WORK