首页 > 其他 > 详细

1004

时间:2018-09-21 23:41:50      阅读:248      评论:0      收藏:0      [点我收藏+]

开始打算这样判断,这样有问题,就是输入三行数据且中间值为最大值时,输出j=2,明显错误。

package com.company;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) throws  Exception{
    // write your code here
        Scanner sc=new Scanner(System.in);
        int n=Integer.parseInt(sc.nextLine());
        String[][] nameId=new String[n][3];
        int i,j;
        int[] score=new int[n];
        //全部输入
        for(i=0;i<n;i++){
            nameId[i][0]=sc.next();
            nameId[i][1]=sc.next();
            score[i]=sc.nextInt();
            nameId[i][2]=Integer.toString(score[i]);
        }
        bgm:for(j=0;j<n;j++){
            //将输入内容输出
            //System.out.println(nameId[j][0]+" "+nameId[j][1]+" "+nameId[j][2]);
            //判断最高成绩
            if(score[0]>score[j]){
                j=0;
                break ;
            }
            if(score[n-1]>score[j]){
                j=n-1;
                break ;
            }
            for (int x = 0; x < j; x++) {
                for (int y = j + 1; y < n; y++) {
                    if ((score[j] > score[x]) & (score[j] > score[y])) {

                        break bgm;
                    }
                }
            }

        }
        System.out.println(j);//输出最大值下标



    }
}

想办法改进

1004

原文:https://www.cnblogs.com/zhuzehua/p/9688942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!