蓝桥杯训练day2_10

今天写了九道简单题,总结一下知识点。

  • 输出保留两位小数

我在做题时最常用的有两种。

        double num = 3.14159;
        System.out.printf("%.2f",num);

        java.text.DecimalFormat  f = new java.text.DecimalFormat("0.00");  

        System.out.println(f.format(num));

  • 不考虑单词大小写比较内容是否相同

        String str1 = "hello";
        String str2 = "HELLo";
        System.out.println(str1.compareToIgnoreCase(str2)); // 0,0代表字符串内容相同

  • 统计字符串中不同单词个数

将字符串分割成字符串数组。

两个 for 循环,外层循环从第一个单词遍历到最后一个,内层用来判断外层的单词是否与其他单词相同。如果不同,则计数。那相同的会不会没有被记一次呢?答案是被记了,因为重复的单词最后一次出现时,后面已经没有与之重复的了,此时count+1

        int count = 0;
        for(int i=0;i             boolean flag = true;
            for(int j =i+1;j                 if(arr[i].equalsIgnoreCase(arr[j])) {
                    flag = false;
                    break;
                }
            }
            if(flag)count++;
            flag = true;
        }

  • 对数组排序

        Arrays.sort(arr); 

  • a

对于三条边之和小于1000的勾股数,a<333 , b<500 , c<1000。 

  • 分数统计

题目描述:

给定一个百分制成绩T,将其划分为如下五个等级之一:
90~100为A,80~89为B,70~79为C,60~69为D,0~59为E
现有若干百分制成绩(成绩个数不超过1000个),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。 

输入:

第一行是成绩的个数 n
第二行是学生的成绩,若干0~100的正整数,用空格隔开 

输出:

第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数 
第二行一个正整数,表示人数最多的等级段中人数 
接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。 

样例输入:

10
100 80 85 77 55 61 82 90 71 60

样例输出:

2 3 2 2 1
3
85 82 80

思路分析: 将输入的数字存放进数组,对数组排序,利用 for 循环遍历数组中的分数并用if 语句判断分数的范围统计每个等级出现的次数,找出次数最大的等级,利用循环输出。

蓝桥杯训练day2_10_第1张图片

package day2_10;

import java.util.Arrays;
import java.util.Scanner;

public class Main1500true {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] arr = new int[n];
		for(int i=0;i=60&&arr[j]<70) {
				sum2++;
			}else if(arr[j]>=70&&arr[j]<80) {
				sum3++;
			}else if(arr[j]>=80&&arr[j]<90) {
				sum4++;
			}else sum5++;
		}
		int p=Math.max(sum5, Math.max(sum4, Math.max(sum3, Math.max(sum1, sum2))));
		System.out.println(sum5+" "+sum4+" "+sum3+" "+sum2+" "+sum1);
		System.out.println(p);
		for(int i=p;i>0;i--) {
			if(p==sum1) {
				System.out.print(arr[i-1]+" ");
			}else if(p==sum2) {
				System.out.print(arr[i+sum1-1]+" ");
			}else if(p==sum3) {
				System.out.print(arr[i+sum1+sum2-1]+" ");
			}else if(p==sum4) {
				System.out.print(arr[i+sum1+sum2+sum3-1]+" ");
			}else {
				System.out.print(arr[i+sum1+sum2+sum3+sum4-1]+" ");
			}
		}
		System.out.println();
		
		
		

	}

}

 

你可能感兴趣的:(蓝桥杯每日一练,蓝桥杯)