犯了初学者问题。。只是开辟了自定义数组后里面放的只是指针。不能直接赋值。。要new对象然后指向它。。还有就是开始想用自定义结构排序没成功。还是不熟悉。多练
import java.util.*;
public class Main{
public static void main(String[] args) {
int n;
int maxn=0,minn=0;
Scanner cin = new Scanner(System.in);
n=cin.nextInt();
node[] nodes= new node[n];
for(int i=0;i<n;++i)
nodes[i]=new node(cin.next(),cin.next(),cin.nextInt());
for(int i=1;i<n;++i){
if(nodes[i].num>nodes[maxn].num) maxn=i;
if(nodes[i].num<nodes[minn].num) minn=i;
}
System.out.printf("%s %s\n",nodes[maxn].name,nodes[maxn].s);
System.out.printf("%s %s\n",nodes[minn].name,nodes[minn].s);
}
}
class node{
int num;
String name,s;
public node(){
}
public node(String name,String s,int num){
this.name=name;
this.s=s;
this.num=num;
}
}
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:每个测试输入包含1个测试用例,格式为
第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。
输入样例:3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95输出样例:
Mike CS991301 Joe Math990112