Debug以及解题思路

6.1 Debug

        Debug是程序员使用的程序调试工具,他可以用于查看程序的执行流程,也可以用于追踪程序执行的过程来调试程序;

        通过学习需要掌握一下问题:

6.2 减肥计划

        通过键盘录入的方式输入星期数(1-7的整数),显示今天的减肥活动,使用switch和if两种判断语句分别完成。 ​ 周一:跑步 ​ 周二:游泳 ​ 周三:慢走 ​ 周四:动感单车 ​ 周五:拳击 ​ 周六:爬山 ​ 周日:好好吃一顿。

        if语句:先通过Scanner从键盘输入一个1-7的整数,在通过if语句判断这个整数等于多少,然后输出对应数字的数据;

        switch语句:先通过Scanner从键盘输入一个1-7的整数,在通过设置switch的case,在不同case下设置不同的数据。

6.3 逢七过

        朋友聚会的时候可能会玩一个游戏:逢七过。 ​ 规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。 ​ 为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。 ​ 这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。

        解题思路:先实现一个从1到100的for,之后在for循环中通过if语句判断x%10==7 || x/10%10==7 || x%7==0 如果成立就输出成立的数字;

6.4 不死神兔

        有一个很有名的数学逻辑题叫做不死神兔问题。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?

        解题思路:通过题目可以得到前几个月兔子的对数:112358...,根据这些数字可以总结到规律,从第三个数字开始,每个数字都是前两个数字的和。所以可以先建立一个范围为20的数组,再将已知的前两个数字1放进数组,之后通过for循环计算arr[x] = arr[x-2] + arr[x-1],这样这样就可以得到前20个月兔子的数量了,之后在输出第二十个月兔子的数量。

6.5  百钱白鸡

        我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。 ​ 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

        解题思路:通过题目我们可以假设鸡翁、鸡母、鸡雏各为x、y、z只,这样就可以得到x+y+z =100; 5x+3y=1/3z =100; 0=<x <=20; 0<= y <=33; 0 =< z <= 100;这样我们就可以通过 0=<x <=20; 0<= y <=33;设计双循环,之后z= 100-x-y; 在通过if语句判断(z%3==0 && 5*x+3*y+z/3==100),就可以得到 x 、y 、z各有多少只了。

6.6 数组元素求和

        有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和, 要求是:求和的元素个位和十位都不能是7,并且只能是偶数。

        解题思路:先定义一个数组,用静态初始化完成数组元素的初始化、定义一个求和变量sum,初始值是0。在设计一个for循环之后通过if语句判断(arr[x]%10!=7 && arr[x]/10%10!=7 && arr[x]%2==0),如果符合就执行sum += arr[x],之后输出sum即可。

6.7 数组内容相同

        设计一个方法,用于比较两个数组的内容是否相同。

        解题思路:先通过静态初始化定义两个数组,之后比较两个数组的长度是否相同,如果相同在通过for判断(arr.length == arr2.length),如果也相同就可以确定这两个数组是相同的数组。

6.8 查找

        已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据。定义一个方法,完成查找该数据在数组中的索引,并在控制台输出找到的索引值。

        解题思路:先定义一个静态数组arr,在通过Scanner从键盘获取一个数据num,然后通过for循环比较数组里的元素跟num是否相同,如果相同则输出该元素的索引。

6.9 反转

        已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值反转(在原数组中操作,不能定义第二个数组),反转后的数组 arr = {50, 46, 37, 28, 19}; 并在控制台输出反转后的数组元素。

解题思路:先定义一个静态数组arr,定义三个个变量分别等于0、0和arr.length-1和然后通过for循环从0到arr.length/2,然后通过其中一个变量为媒介交换数组中两个元素的位置,等到for循环结束后输出数组。

6.10 评委打分

        在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。

        解题思路: 先定义一个动态数组,然后通过Scanner数组六个评委的分数,之后定义两个变量通过for循环得到评委中的最高分和最低分,然后在通过for循环求出六个分数的总分,之后再减去最高分和最低分,在除以评委的人数就得到了这个同学的分数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值