java作业
程序员文章站
2022-07-10 18:40:17
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
上一篇: SpringMVC开发实际项目的详细介绍
下一篇: 切面编程(AOP框架之AspectJ)