OJ题 期末成绩

题目描述

      又到学期末,小明迎来了又一次的期末考试。虽然每学期都要考试,但是这次期末考试对小明来说意义重大。因为小明爱慕已久的女神说,如果小明这次考了全班前三名就做他女朋友。虽说小明没有十足的信心,但是女神的话不能不听啊。
考完试后,小明拿到了全班的成绩单,这张成绩单是按学号顺序排好的。小明很想知道班里到底有多少人分数比他高,现在就请你帮帮他,帮他数一下到底有多少人的分数比他高吧。

 

输入

      输入数据的第一行是一个正整数T,表示测试数据的组数,接下来有T组测试数据。
每组数据包括两行。
第一行有两个正整数N,K(0<N<1000,0<K<=N),分别表示成绩单上总共的学生数目,和小明的学号。
第二行有N个整数Xi(0<=Xi<=100)分别表示各个学生的成绩,以学号递增顺序给出,第一个学生学号为1。

 

输出

对于每组数据,请在一行里输出班里一共有多少个学生成绩高于小明。

 

样例输入

1
3 2
81 72 63

 

样例输出

1

代码块

import java.util.Scanner;

import org.omg.PortableInterceptor.IORInterceptor;

public class qimochenji {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		int T=scanner.nextInt();
		for(int i=0;i<T;i++){
			int N=scanner.nextInt();
			int K=scanner.nextInt();
			int num=0;
			int[] arr=new int[N];
			for(int k=0;k<N;k++){
				arr[k]=scanner.nextInt();
			}
			for(int j=0;j<N;j++){
				if(arr[j]>arr[K-1]){
					num++;
				}
			}
			System.out.println(num);	
		}
	}
}

解题思路:主要注意一点,如果直接用arr[k](小明的成绩)去和装在数组中的其他人的成绩比较,在一种条件下,小明的学号是最后一个的话,数组就会越界,运行时会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值