【蓝桥杯日记】复盘篇一:深入浅出顺序结构

🚀前言

本期是一篇关于顺序结构的题目的复盘,通过复盘基础知识,进而把基础知识学习牢固!通过例题而进行复习基础知识。

🚩目录

前言

1.字符三角形

分析:

知识点:

代码如下

[2. 字母转换](#2. 字母转换)

题目分析:

知识点:

代码如下

[3. 再分肥宅水](#3. 再分肥宅水)

题目分析:

知识点:

代码如下

[4. 数字反转](#4. 数字反转)

题目分析:

知识点:

代码如下

总结


🍊1.字符三角形

题目描述

给定一个字符,用它构造一个底边长 5 个字符,高 3个字符的等腰字符三角形。

输入格式

输入只有一行,包含一个字符。

输出格式

该字符构成的等腰三角形,底边长 5 个字符,高 3 个字符。

输入输出样例

输入 #

复制代码
*

输出 #1复制

复制代码
  *
 ***
*****

说明/提示

对于 100%100% 的数据,输入的字符是 ASCII 中的可见字符。

分析:
  1. 根据题目的描述可以得知,本题目主要考察的是关于循环的问题,只需要输入制定字符,然后输入的3行5列的等腰三角形这个是固定的。

  2. 这里需要注意的是Scanner扫描器没有获取char类型的方法,可以使用Scanner.next()进行获取字符串,然后通过String类下的CharAt方法进行截取或则subString()。

  3. 第一行是一个字符,第二行是三个,第三行是五个可以找到规律2*i(i是从1开始)-1。

知识点:

CharAt()函数进行截取字符串。

char charAt(int index)

返回char指定索引处的值。 指数范围为0至length() - 1 。 该序列的第一个char值在索引0 ,下一个索引为1 ,依此类推,与数组索引一样。

代码如下
java 复制代码
        Scanner sc = new Scanner(System.in);
//        1.这里需要注意的是Scanner扫描器没有获取char类型的方法,
//        可以使用Scanner.next()进行获取字符串, 
//        然后通过String类下的CharAt方法进行截取或则subString()
        char s=sc.next().charAt(0);
//        
        for (int i = 0; i < 3; i++) {
//            输出空格
            for (int j = 0; j <3-i-1; j++)
                System.out.print(" ");
//          负责输出指定字符串
            for (int k=0;k<(i+1)*2-1;k++){
                System.out.print(s);
            }
//            整体换行
            System.out.println();
        }

🌽2. 字母转换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

输入格式

输出格式

输入

输入 #1

复制代码
q

输出样例

输出 #1

复制代码
Q
题目分析:
  1. 本题目主要考察的是大小写字母的ASCII码,大写字母A的ascii码为65,而小写字母a的acsii码为97,由此我们可以确定大小写字母之间的ascii码之间相差32。
  2. 可以使用String类的toUpperCase()方法将小写字母转换为大写字母。
知识点:

toUpperCase()方法

代码如下
java 复制代码
 static void fun(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        System.out.println(str.toUpperCase());
    }

🍋3. 再分肥宅水

题目描述

现在有 t 毫升肥宅快乐水,要均分给 n 名同学。每名同学需要 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 位),以及一共需要多少个杯子。

输入格式

输入一个实数 t 和一个正整数 n,使用空格隔开。

输出格式

输出两行。

第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。

输入输出样例

输入 #1

复制代码
500.0 
3

输出 #1

复制代码
166.667
6

说明/提示

对于所有数据,0≤t≤100000≤t≤10000 且小数点后不超过 3 位,1≤t≤10001≤n≤1000。

题目分析:
  1. 先把快乐肥宅水分给n个学生,及使用总量除以学生的个数。
  2. 每个学生两个杯子,则n个学生n*2个杯子。
知识点:

常用保留小数点位数的方法:

1.使用String.format()字符串格式输出

format("输出格式",数值),"%.保留的小数位数f", 按照四舍五入进行保留小数位数。

2.使用数学函数Math.round() 四舍五入

java 复制代码
        double d = 12.344345; 
        //保留两位小数
        long num = Math.round(d * 100);
        System.out.println(num / 100.0);

3.使用BigDecimal类,可以进行复杂的保留小数位数,进行高精度运算时常使用。

java 复制代码
 BigDecimal bd=new BigDecimal( 12.344345);
 System.out.println(bd.setScale(2,BigDecimal.ROUND_DOWN));

使用BigDecimal类中的setScale()函数设置需要保留的小数位数和保留小数位数的格式。我们上边是使用BigDecimal中的静态量,ROUND_DOWN.可以替换为以下的内容。

常用:

个人认为:四舍五入

ROUND_UP:舍入模式从零开始。 始终在非零丢弃分数之前增加数字。

个人认为:直接截断

ROUND_DOWN:舍入模式向零舍入。 不要在丢弃的分数之前递增数字(即截断)。

4.DecimalFormat类

java 复制代码
//        构造方法设置格式
DecimalFormat df=new DecimalFormat("#.00");
        String str=df.format(12.345345);
        System.out.println(str);

#.00:#表示一个数字,0显示为缺省(即空字符),.就表示他本来的意思,0表示一个数字,00表示两个数字。

代码如下
java 复制代码
Scanner sc=new Scanner(System.in);
        double t=sc.nextDouble();
        int n=sc.nextInt();
//         String.format ("%.1f", num)
        System.out.println(String.format("%.3f",t/n));
        System.out.println(2*n);

🥭4. 数字反转

题目描述

输入一个不小于 100 且小于 1000,同时包括小数点后一位的一个浮点数,例如 123.4 ,要求把这个数字翻转过来,变成 4.321 并输出。

输入格式

一行一个浮点数

输出格式

一行一个浮点数

输入输出样例

输入 #1

复制代码
123.4

输出 #1

复制代码
4.321
题目分析:
  1. 对数值进行翻转,把数值转换为字符串使用StringBuild类中的reverse()函数进行对字符串进行翻转
知识点:

1.String类中的方法修改时不会修改本身,除非再次对String类进行赋值,而StringBuilder和StringBuffer类对类使用方法时会自动修改原来的类。

代码如下
java 复制代码
 Scanner sc = new Scanner(System.in);
        double n= sc.nextDouble();
        String str=String.valueOf(n);
        System.out.println(new StringBuilder(str).reverse());

总结

通过几道简单的例题,通过对以下内容的复习:

  1. for循环的复习和控制空格字符的输出。
  2. 可以了解ascii码之间的转换规律。
  3. 牢牢记住保留指定位数的小数。
  4. reverse()实现对字符串的倒置。
相关推荐
技能咖1 小时前
探索AI新领域:生成式人工智能认证(GAI认证)助力职场发展
人工智能·职场和发展
独行soc2 小时前
2025年渗透测试面试题总结-渗透测试红队面试九(题目+回答)
linux·安全·web安全·网络安全·面试·职场和发展·渗透测试
咚咚轩4 小时前
蓝桥杯13届国B 完全日期
蓝桥杯·枚举·日期问题
软件测试媛5 小时前
软件测试——面试八股文(入门篇)
软件测试·面试·职场和发展
逐光沧海15 小时前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
吃个早饭18 小时前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
程序员杰哥21 小时前
自动化测试基础知识详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
边跑边掩护1 天前
LeetCode 648 单词替换题解
算法·leetcode·职场和发展
天真小巫1 天前
2025.5.13总结
职场和发展
wang__123001 天前
力扣2094题解
算法·leetcode·职场和发展