【Java】『蓝桥杯』10道编程题及答案(二)

news2024/9/20 22:56:14

系列文章

【Java】『蓝桥杯』10道编程题及答案(一)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/130223115

【Java】『蓝桥杯』10道编程题及答案(二)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/130304773

【Java】『蓝桥杯』10道编程题及答案(三)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/130305068


文章目录

  • 系列文章
  • 前言
  • 一、题目
    • 1.1 【程序1】
    • 1.2 【程序2】
    • 1.3 【程序3】
    • 1.4 【程序4】
    • 1.5 【程序5】
    • 1.6 【程序6】
    • 1.7 【程序7】
    • 1.8 【程序8】
    • 1.9 【程序9】
    • 1.10 【程序10】
  • 二、答案
    • 2.1 【程序1】
    • 2.2 【程序2】
    • 2.3 【程序3】
    • 2.4 【程序4】
    • 2.5 【程序5】
    • 2.6 【程序6】
    • 2.7 【程序7】
    • 2.8 【程序8】
    • 2.9 【程序9】
    • 2.10 【程序10】


前言

我能抽象出整个世界,但是我不能抽象你。 想让你成为私有常量,这样外部函数就无法访问你。 又想让你成为全局常量,这样在我的整个生命周期都可以调用你。 可惜世上没有这样的常量,我也无法定义你,因为你在我心中是那么的具体。

哈喽大家好,本专栏为【项目实战】专栏,有别于【底层库】专栏,我们可以发现增加 了『问题描述』、『项目展示』章节,十分符合项目开发流程,让读者更加清楚项目解决的问题、以及产品能够达到的效果。本专栏收纳项目开发过程的解决方案,是我项目开发相对成熟、可靠方法的提炼,我将这些问题的解决思路梳理,撰写本文分享给大家,大家遇到类似问题,可按本文方案处理。

本专栏会持续更新,不断完善,专栏文章关联性较弱(文章之间依赖性较弱,没有阅读顺序)。大家有任何问题,可以私信我。如果您对本专栏感兴趣,欢迎关注吧,我将带你用最简洁的代码,实现复杂的功能。

蓝桥杯10道经典编程题及答案(二)
在这里插入图片描述


一、题目

1.1 【程序1】

【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.2 【程序2】

【程序12】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

1.3 【程序3】

【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

1.4 【程序4】

【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?

1.5 【程序5】

【程序15】题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

1.6 【程序6】

【程序16】题目:输出9*9口诀。
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

1.7 【程序7】

【程序17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。

1.8 【程序8】

【程序18】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.9 【程序9】

【程序19】题目:打印出如下图案(菱形) 
   * 
  *** 
 ***** 
******* 
 ***** 
  *** 
   * 
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

1.10 【程序10】

【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。


二、答案

2.1 【程序1】

public class ArrangementNumber {
	/**
	 * 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
	 */
	public static void main(String[] args) {
		int ct = 0;
		for (int i = 1; i < 5; i++) {
			for (int j = 1; j < 5; j++) {
				if (i == j)
					continue;
				for (int k = 1; k < 5; k++) {
					if (j == k || i == k)
						continue;
					ct++;
					System.out.print((i * 100 + j * 10 + k) + " ");
				}
			}
		}
		System.out.println("\n共有:" + ct + "个不同的三位数。");
	}

}


2.2 【程序2】

import java.util.Scanner;
public class PrizeCommision {
	public static void main(String[] args) {
		long profit;
		long prize;
		Scanner sc=new Scanner(System.in);
		
		while(true){
			System.out.println("请输入利润:");
			profit=sc.nextLong();
			if(profit>0)break;
		}
		
		if(profit<=100000){
			prize=(long) (profit*.1);
		}else if(profit<=200000){
			prize=(long) (100000*.1+(profit-100000)*.075);
		}else if(profit<=400000){
			prize=(long) (100000*.1+100000*.075+(profit-200000)*.05);
		}else if(profit<=600000){
			prize=(long) (100000*.1+100000*.075+200000*.05+(profit-400000)*.03);
		}else if(profit<=1000000){
			prize=(long) (100000*.1+100000*.075+200000*.05+200000*.03+(profit-600000)*.015);
		}else {
			prize=(long) (100000*.1+100000*.075+200000*.05+200000*.03+400000*.015+(profit-1000000)*.01);
		}
				System.out.println("你应该得到的奖金为:"+prize);
	}
}



2.3 【程序3】

public class SquareNumber {
	/**
		 * 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for (int i = 1; i < 100000001; i++) {
			int sq1 = (int) Math.sqrt(i + 100);
			int sq2 = (int) Math.sqrt(i + 268);
			if ((i + 100) == sq1 * sq1 && (i + 268) == sq2 * sq2)
				System.out.println(i);
		}
	}
}

2.4 【程序4】

import java.util.Scanner;

public class YearMonthDays {
	/**
		 * 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
	 */
	public static void main(String[] args) {
		int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
		int year, month, day;
		Scanner sc = new Scanner(System.in);
		while (true) {
			System.out.println("请输入一个正整数作为年份:");
			year = sc.nextInt();
			if (year > 0)
				break;
		}
		while (true) {
			System.out.println("请输入一个1~12之间的整数作为月份:");
			month = sc.nextInt();
			if (month > 0 && month < 13)
				break;
		}
		if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
			days[1] = 29;
		while (true) {
			System.out.println("请输入一个1" + "~" + days[month - 1] + "之间的整数作为号数:");
			day = sc.nextInt();
			if (day > 0 && day <= days[month - 1])
				break;
		}
		int sum = day;
		for (int i = 0; i < month - 1; i++)
			sum += days[i];
		System.out.println(year + "年" + month + "月" + day + "日是今年的第" + sum
				+ "天。");
	}

}



2.5 【程序5】

import java.util.Scanner;
public class CompareTheSizeOf {
	/*
	 * 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换
	 * ,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
	 */
	public static void main(String[] args) {
		float a,b,c,temp;
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入三个实数(在同一行时,用空格分开):");
		a=sc.nextFloat();
		b=sc.nextFloat();
		c=sc.nextFloat();
				if(a>b){
			temp=a;
			a=b;
			b=temp;
		}
		if(b>c){
			temp=b;
			b=c;
			c=temp;
		}
		if(a>b){
			temp=a;
			a=b;
			b=temp;
		}
		System.out.println(a+" <= "+b+" <= "+c);
	}
}


2.6 【程序6】

public class NineNineTable {
	/**
	 * 【程序16】 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
	 */
	public static void main(String[] args) {
		String s;
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j <= i; j++) {
				s = i + "*" + j + "=" + i * j + "      ";
				System.out.print(s.substring(0, 9));
			}
			System.out.println();
		}
	}
}


2.7 【程序7】

public class MonkeyEatingPeach {
	/**
* 1.程序分析:采取逆向思维的方法,从后往前推断。
	 * 此程序包含验证!!!
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a = 1;
		for (int i = 1; i < 10; i++) {
			a = 2 * (a + 1);
		}
		System.out.println("一共有:"+ a+ "个桃子!\n==========================================================================");
		// 以下为验证:
		int b = a;
		int i = 1;
		while (b != 1) {
			b = a / 2 - 1;
			System.out.println("第" + (i++) + "天,猴子吃了:" + (a / 2 + 1)
					+ "个桃子;还剩下" + b + "个桃子(和为:" + (a / 2 + 1 + b)
					+ ",是头一天所剩的桃子数)。");
			a = b;
		}
		System.out.println("======================================================================\n第"+ i + "天,剩下的桃子数为:" + a + "个。");
	}
}


2.8 【程序8】

public class PingpongGame {
	public static void main(String[] args) {
		char[] a = { 'a', 'b', 'c' };
		char[] b = { 'x', 'y', 'z' };
		int ct=0;
				for (int i = 0; i < a.length; i++) {
			for (int j = 0; j < b.length; j++) {
				if (i == 0 && j == 0)
					continue;
				if ((i == 2 && j == 0) || (i == 2 && j == 2))
					continue;
				System.out.println(a[i] + " : " + b[j]);
				ct++;
			}
		}
		System.out.println("一共有:"+ct+"场乒乓比赛!");
	}

}


2.9 【程序9】

public class DiamontPattern {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StringBuffer preBlank;
		StringBuffer star;
		int tmp;
		for (int i = 1; i < 8; i++) {
			preBlank = new StringBuffer();
			star = new StringBuffer();
			if (i < 5)
				tmp = i;
			else
				tmp = 8 - i;
			for (int j = 1; j < 2 * tmp; j++) {
				if (j % 2 != 0)
					preBlank.deleteCharAt(0);
				star.append('*');
			}
			System.out.print(preBlank);
			System.out.println(star);
		}
	}

}


2.10 【程序10】

public class FractionSeries {

	/**
	 * 【程序20】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
	 * 1.程序分析:请抓住分子与分母的变化规律。
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double fz = 2.;
		double fm = 1.;
		double he;
		double sum = fz / fm;
		System.out.print((int) fz + "/" + (int) fm);

		for (int i = 1; i < 20; i++) {
			he = fz + fm;
			fm = fz;
			fz = he;
			sum += fz / fm;
			System.out.print(" + " + (int) fz + "/" + (int) fm);
		}

		System.out.println(" = " + sum);
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 代码打造小 AI ,罗列博文笔记总索引列表,自动生成“我的博文笔记总索引”博文 HTML5 源码文本

Python 代码打造小 AI &#xff0c;获取笔记信息&#xff0c;自动阅读量降序编排索引列表&#xff0c;生成 HTML5 源码文本。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&…

依赖自动装配

自动配置 前面花了大量的时间把Spring的注入去学习了下&#xff0c;总结起来就一个字麻烦。 问:麻烦在哪? 答:配置文件的编写配置上。 问:有更简单方式么? 答:有&#xff0c;自动配置 什么是自动配置以及如何实现自动配置&#xff0c;就是接下来要学习的内容&#xf…

English Learning - L2-16 英音地道语音语调 语调 2023.04.20 周四

English Learning - L2-16 英音地道语音语调 语调 2023.04.20 周四 语调降调升调降升升降 语调如何正确的表情达意用降调的句型用升调的句型用降升调的句型升降调 & 平调 回顾词重音句重音弱读语音语调四步法 存档音频 语调 降调 重音音节降 升调 一般表示不确定&#xf…

进制转换—包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

目录 1.进制转换必备知识&#xff1a; 1.1 二进制逢2进1 8进制逢8进1 10进制逢10进1 16进制逢16进1 1.2为了区分二、八、十、十六进制&#xff0c;我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换 2.1 二进制转八进制 2.2 八…

移动电视双天线分集接收技术解决方案

移动电视双天线分集接收技术 随着DVB-T在手机电视、车载电视、楼宇电视、地铁电视等户外广播领域内的发展&#xff0c;在这些接收范围内&#xff0c;多径衰落、多普勒频移等小范围衰落是不可避免的问题&#xff0c;解决这些衰落和干扰成为倍受关注的问题。为了解决衰落&#x…

ROS学习第二十三节——TF坐标变换实操

1.综述 需求描述: 程序启动之初: 产生两只乌龟&#xff0c;中间的乌龟(A) 和 左下乌龟(B), B 会自动运行至A的位置&#xff0c;并且键盘控制时&#xff0c;只是控制 A 的运动&#xff0c;但是 B 可以跟随 A 运行 结果演示: 实现分析: 乌龟跟随实现的核心&#xff0c;是乌龟…

在外Windows远程连接MongoDB数据库【无公网IP】

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 转载自远程内网穿透的文章&#xff1a;公网远…

【Pytorch学习笔记】12.修改预训练模型权重参数的方法(用于对单通道灰度图使用预训练模型)

文章目录 1.导出模型参数&#xff0c;修改参数2.修改模型结构&#xff0c;导回参数 我们在训练单通道图像&#xff0c;即灰度图&#xff08;如医学影像数据&#xff09;时&#xff0c;常会使用预训练模型进行训练。 但是一般的预训练模型是以ImageNet数据集预训练的&#xff0c…

OpenAI Embedding:快速实现聊天机器人(四)

theme: orange 本文正在参加「金石计划」 接上文OpenAI Embedding&#xff1a;快速实现聊天机器人(三)如何使用Python实现embedding相似度搜索&#xff0c;这篇文章继续讲如何将搜索到的相似文本进行提炼&#xff0c;并最终得出问题的答案。 提炼文本 通过调用azure openai服务…

数据库基础篇 《10.创建和管理表》

1. 基础知识 1.1 一条数据存储的过程 1.2 标识符命名规则 1.3 MySQL中的数据类型 其中&#xff0c;常用的几类类型介绍如下&#xff1a; 2. 创建和管理数据库 2.1 创建数据库 方式1&#xff1a;创建数据库 CREATE DATABASE 数据库名; 方式2&#xff1a;创建数据库并指…

Netty工作模型——网络IO模型的演进,从BIO到NIO到Reactor模型与Netty工作模型

文章目录 一、IO模型1、BIO&#xff08;同步阻塞&#xff09;2、NIO&#xff08;同步非阻塞&#xff09;3、AIO&#xff08;异步非阻塞&#xff09; 二、Reactor模型1、单Reactor单线程2、单Reactor多线程3、主从Reactor多线程 三、Netty工作模型1、Netty工作模型2、Netty入门案…

【Java】『蓝桥杯』10道编程题及答案(三)

系列文章 【Java】『蓝桥杯』10道编程题及答案&#xff08;一&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/130223115 【Java】『蓝桥杯』10道编程题及答案&#xff08;二&#xff09; 本文链接&#xff1a;https://blog.csdn.net/y…

智能座舱域

bosch对车载系统的划分&#xff0c;通常分为5大域&#xff1a;动力域&#xff0c;底盘域&#xff0c;车身域&#xff0c;智能座舱域和adas自动驾驶域。随着ECU集成中央化的发展趋势&#xff0c;大众&#xff0c;华为等巨头将动力域&#xff0c;底盘域和车身域合并为整车控制域&…

Java中将json字符串导出为json文件【详细步骤】

一、概述 请根据具体需求具体改动&#xff0c;此代码需要将前端的数据查询出来&#xff0c;然后进行json字符串的转化 .getCatalogId(id)方法是根据id查出来的内容然后再进行转换成json字符串 也可以直接传入json字符串进行测试 二、代码 ApiOperation("导出为json文件&q…

fzyczn生日赛t1 CZN

fzy&czn生日赛t1 CZN 膜拜hybb首杀 文章目录 fzy&czn生日赛t1 CZN题目背景题目描述分析my codewnags code 题目 题目背景 有一天&#xff0c;czn在机房里面心心念念的pj终于来找他了&#xff0c;pj希望czn能够帮助她来解决一道数学题&#xff0c;czn“十分不乐意”地…

数据库基础篇 《8. 聚合函数》

1. 聚合函数介绍 聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用 1.1 AVG和SUM函数 可以对 数值型数据 使用 AVG 和 SUM 函数。 SELECT AVG(salary), MAX(salary),MIN(salary), SUM(salary) FROM employees WHERE job_id LIKE %REP%; 1.2 MIN…

【Latex排版】使用Latex 排版过程中的那些一二三问题汇总

排版错误问题总结&#xff1a; 1.在【\maketitle】 位置处报错----Missing $ inserted. 2.添加参考文献&#xff0c;编译后显示错误&#xff0c;并且pdf中引用文献处为问号(?) 持续更新问题。。。。。。 近期用Latex整理期刊论文时遇到了不少问题&#xff0c;现把遇到的问题及…

2023 最新最细 vite+vue3+ts 多页面项目架构,建议收藏备用!

&#x1f33b; 前言 本文教程 github地址 。 如果对你有帮助&#xff0c;希望能点个star ⭐️⭐️⭐️ 万分感谢&#x1f60a;&#x1f60a;&#x1f60a; &#x1f9f1; 背景 不久前我司需要重新部署一个前端项目&#xff0c;由我来负责这个项目的搭建。因为这个项目是需要…

python爬虫简介

关于爬虫使用 使用python编写的爬虫脚本&#xff08;程序&#xff09;可以完成定时定量&#xff0c;指定目标&#xff08;Web站点&#xff09;的数据爬取&#xff0c;主要使用多&#xff08;单&#xff09;线程/进程&#xff0c;网络请求库&#xff0c;数据解析&#xff0c;数…

记一次误用顶层await导致的路由渲染错误

背景&#xff1a;顶层 await Async 异步函数能将 Promise 的链式调用的形式&#xff0c;改为同步的形式&#xff0c;对于编写和阅读代码都非常友好。但一直以来都有一个限制&#xff0c;就是 async 和 await 这两个关键字必须成对出现。这就导致了一个问题&#xff0c;想使用 …