做网站的毕业设计,网站没备案怎么做淘宝客,安徽海通建设集团网站,简单网站制作实验报告前言 本篇笔记主要进行复盘的内容是分支结构#xff0c;通过学习分支结构从而更好巩固之前所学的内容。 目录
前言
目录
#x1f34a;1.数的性质
分析#xff1a;
知识点#xff1a;
#x1f345;2.闰年判断
说明/提示
分析#xff1a;
知识点#xff1a;
通过学习分支结构从而更好巩固之前所学的内容。 目录
前言
目录
1.数的性质
分析
知识点
2.闰年判断
说明/提示
分析
知识点
3.肥胖问题
说明/提示
分析
知识点
4.三位数排序
分析
知识点
5.买铅笔
分析
知识点
总结 1.数的性质 题目描述 一些整数可能拥有以下的性质 性质 1是偶数性质 2大于 4 且不大于 12。 小 A 喜欢这两个性质同时成立的整数Uim 喜欢这至少符合其中一种性质的整数八尾勇喜欢刚好有符合其中一个性质的整数正妹喜欢不符合这两个性质的整数。现在给出一个整数 x请问他们是否喜欢这个整数 输入格式 输入一个整数x (0≤x≤1000) 输出格式 输出这4个人是否喜欢这个数字如果喜欢则输出 1否则输出 0用空格分隔。输出顺序为小 A、Uim、八尾勇、正妹。 输入输出样例 输入 #1 12 输出 #1 1 1 0 0 分析 通过非嵌套if来对每一种条件判断可以把是否正确的数值存储在数组里边或者直接输出。
知识点 题目的主要知识点是if条件的判断和正确使用大小于符号和||组合使用的情况。
代码如下 import java.util.Scanner;public class Main {static int arr[] new int[4];public static void main(String[] args) {Scanner sc new Scanner(System.in);int x sc.nextInt();if (x % 2 0 (x 4 x 12)) {arr[0];}if (x % 2 0 || (x 4 x 12)) {arr[1];}if ((x % 2 0) !(x 4 x 12) || (!(x % 2 0) (x 4 x 12))) {arr[2];}if (!(x % 2 0) !(x 4 x 12)) {arr[3];}for (int i 0; i arr.length; i) {System.out.print(arr[i] );}}
}2.闰年判断 题目描述 输入一个年份判断这一年是否是闰年如果是输出 1否则输出 0。 输入格式 输入一个正整数 n表示年份。 输出格式 输出一行。如果输入的年份是闰年则输出 1否则输出 0。 输入输出样例 输入 #1 1926 输出 #1 0 输入 #2 1900 输出 #2 0 输入 #3 2000 输出 #3 1 输入 #4 1996 输出 #4 1 说明/提示 数据保证1582≤n≤2020 且年份为自然数。 输入一个年份判断这一年是否是闰年如果是输出 1否则输出 0。 输入格式 输入一个正整数 n表示年份。 分析 通过if条件判断语句进行判断
知识点 闰年能被4整除且能被100整除或则能被400整除的才是闰年。
代码如下
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int xsc.nextInt();if((x%40x%100!0)||x%4000)System.out.println(1);elseSystem.out.println(0);}
}3.肥胖问题 题目描述 BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准其算法是 m/(n*n)其中 m 是指体重千克h 是指身高米。不同体型范围与判定结果如下 小于 18.518.5体重过轻输出 Underweight大于等于 18.5 且小于 24正常体重输出 Normal大于等于 24肥胖不仅要输出 BMI 值使用 cout 的默认精度然后换行还要输出 Overweight 现在给出体重和身高数据需要根据 BMI 指数判断体型状态并输出对应的判断。 对于非 C 语言在输出时请四舍五入保留六位有效数字输出如果小数部分存在后缀 0不要输出后缀 0。 请注意保留六位有效数字不是保留六位小数。例如 123.4567 应该输出为 123.4575432.10 应该输出为 5432.15432.1。 输入格式 共一行。 第一行共 2个浮点数m,h分别表示体重单位为 kg身高单位为 m。 输出格式 输出一行一个字符串表示根据 BMI 的对应判断。特别地对于 Overweight 情况的特别处理请参照题目所述。 输入输出样例 输入 #1 70 1.72 输出 #1 Normal 输入 #2 100 1.68 输出 #2 35.4308
Overweight 说明/提示 对于所有数据40≤m≤120,1.4≤h≤2.0。m 和 h 的小数点后不超过三位。 分析 通过if来进行对体重进行判断进行合理的输出。
知识点
保留小数位数可以使用printf进行对字符串的格式化输出。
printf里边的格式说明 格式说明符 %d - 十进制整数%f - 浮点数%s - 字符串%c - 字符%b - 布尔值%n - 平台特定的换行符%% - 百分号字符 额外的修饰符 - 强制在数值前面显示正号或负号- - 左对齐0 - 数字前面补0空格 - 显示正数时在前面显示空格. - 指定小数点后的精度m.n - m指定整个字段的最小宽度n指定小数点后的位数 代码如下
import javax.script.ScriptContext;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);double m,h,weight;msc.nextDouble();hsc.nextDouble();weightm/Math.pow(h,2);if(weight18.5){System.out.println(Underweight);} else if (weight18.5weight24) {System.out.println(Normal);}else {
// 需要保留小数位数输出不固定的小数位数System.out.printf(%.4f,weight);System.out.println();System.out.print(Overweight);}}
}4.三位数排序 题目描述 给出三个整数 a,b,c(0≤a,b,c≤100)要求把这三位整数从小到大排序。 输入格式 输入三个整数 a,b,c以空格隔开。 输出格式 输出一行三个整数表示从小到大排序后的结果。 输入输出样例 输入 #1 1 14 5 输出 #1 1 5 14 输入 #2 2 2 2 输出 #2 2 2 2 分析 以上内容是对三位数字的排序问题可以使用if来进行判断。也可以使用排序算法来进行排序下列我们是使用系统自带的排序函数Arrays类中的sort()来实现的sort()采用的是桶排序。后序会对排序进行重点回顾。
知识点
Arrays类中的sort()可以实现对数组的升序排序。
代码如下
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int arr[]new int[3];for (int i 0; i arr.length; i) {arr[i] sc.nextInt();}Arrays.sort(arr);for (int i 0; i arr.length; i) {System.out.print(arr[i] );}}
}5.买铅笔 题目描述 P 老师需要去商店买 n 支铅笔作为小朋友们参加 NOIP 的礼物。她发现商店一共有 3种包装的铅笔不同包装内的铅笔数量有可能不同价格也有可能不同。为了公平起 见P 老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开因此 P 老师可能需要购买超过 n 支铅笔才够给小朋友们发礼物。 现在 P 老师想知道在商店每种包装的数量都足够的情况下要买够至少 n 支铅笔最少需要花费多少钱。 输入格式 第一行包含一个正整数 n表示需要的铅笔数量。 接下来三行每行用 2 个正整数描述一种包装的铅笔其中第 1 个整数表示这种包装内铅笔的数量第 2 个整数表示这种包装的价格。 保证所有的 7 个数都是不超过 10000 的正整数。 输出格式 1 个整数表示 P 老师最少需要花费的钱。 输入输出样例 输入 #1复制 57
2 2
50 30
30 27 输出 #1 54 输入 #2 9998
128 233
128 2333
128 666 输出 #2 18407 输入 #3 9999
101 1111
1 9999
1111 9999 输出 #3 89991 说明/提示 铅笔的三种包装分别是 22 支装价格为 22;5050 支装价格为 3030;3030 支装价格为 2727。 P 老师需要购买至少 5757 支铅笔。 如果她选择购买第一种包装那么她需要购买 29份共计 2×2958 支需要花费的钱为 2×2958。 实际上P 老师会选择购买第三种包装这样需要买 22 份。虽然最后买到的铅笔数量更多了为 30×260 支但花费却减少为 27×254比第一种少。 对于第二种包装虽然每支铅笔的价格是最低的但要够发必须买 2 份实际的花费达到了 30×260因此 P 老师也不会选择。 所以最后输出的答案是 54。 数据范围 保证所有的 7 个数都是不超过 10000 的正整数。 分析 采用二维数组来对三组数据进行保存设置初始值result设置为Integer类中的最大值当每次的money小于result则result就等于当前的money。判断n只铅笔能不能被每套铅笔进行整除能整除则说明可以买到正好的铅笔个数如果不能整除则说明必须多买一套铅笔才能保证够分。
知识点
Integer类的最大值Integer.MAX_VALUE和Integer类的最小值为Integer.MIN_VALUE。
代码如下
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int n,resultInteger.MAX_VALUE;nsc.nextInt();int arr[][]new int[3][2];for (int i 0; i 3; i) {for (int j 0; j 2; j) {arr[i][j]sc.nextInt();}}for (int i 0; i 3; i) {int money0;int xn/arr[i][0];moneyarr[i][1]*x;if(n%arr[i][0]!0)moneyarr[i][1];if(moneyresult)resultmoney;}System.out.println(result);}
}总结 本次复盘篇需要掌握如下内容 1.if条件语句的使用。 2.Arrays类sort()函数的使用 3.如何保留小数位数 4.相关表达式的使用