【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天-2

简介: 【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天

3、猜数字

很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。

阅读分析代码,填写缺失的部分。



把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。



System.out.println("请在心中想好一个数字(1~100),我来猜");

System.out.println("我每猜一个数字,你要告诉我是“猜大了”,“猜小了”,还是“猜中”");

Scanner scan = new Scanner(System.in);

int v1 = 1;

int v2 = 100;

for(;;)

{undefined

int m = (v1 + v2)/2;

System.out.println("我猜是:" + m);

System.out.println("1.猜得太大了");

System.out.println("2.猜得太小了");

System.out.println("3.猜中!");

System.out.print("请选择:");

int user = Integer.parseInt(scan.nextLine());

if(user==3) break;

if(user==1) _____________;

if(user==2) _____________;


}


填空:


v2=m-1
v1=m+1


4、反转串

我们把“cba”称为“abc”的反转串。

求一个串的反转串的方法很多。下面就是其中的一种方法,代码十分简洁(甚至有些神秘),请聪明的你通过给出的一点点线索补充缺少的代码。



把填空的答案(仅填空处的答案,不包括题面)存入考生文件下对应题号的“解答.txt”中即可。



public static String reverseString(String x)

{undefined

if(x==null || x.length()<2) return x;

return ____________________ + x.charAt(0);


}


填空:


reverseString(x.substring(1))+ x.charAt(0)


过程:


reverseString("abcde")=reverseString("bcde")+a    =edcba
reverseString("bcde")=reverseString("cde")+b      =edcb
reverseString("cde")=reverseString("de")+c        =edc
reverseString("de")=reverseString("e")+d          =ed

5、第一个数字

以下的静态方法实现了:把串s中第一个出现的数字的值返回。

如果找不到数字,返回-1



例如:

s = "abc24us43"  则返回2

s = "82445adb5"  则返回8

s = "ab"   则返回-1  



public static int getFirstNum(String s)

{undefined

if(s==null || s.length()==0) return -1;

char c = s.charAt(0);

if(c>='0' && c<='9') return _____________;  //填空

return ___________________;  //填空

}


请分析代码逻辑,并推测划线处的代码。


答案写在 “解答.txt” 文件中


注意:只写划线处应该填的内容,划线前后的内容不要抄写。


结果:


2

过程:


(例1):


getFirstNum("abc24us43")=getFirstNum("bc24us43")    = 2 
getFirstNum("bc24us43")=getFirstNum("c24us43")      = 2
getFirstNum("c24us43")=getFirstNum("24us43")        =  2

(例2):


getFirstNum("ab")=getFirstNum("a") = -1
import java.util.Scanner;
public class Main {
  public static int getFirstNum(String s)
  {
  if(s==null || s.length()==0) return -1;//如果找不到数字,返回-1
  char c = s.charAt(0);
  if(c>='0' && c<='9') return c-'0';  //填空  //第一个出现的数字的值返回
  return getFirstNum(s.substring(1));  //填空 //递归,如果找不到,继续找
  }
    public static void main(String[] args) {
  System.out.println(getFirstNum("abc24us43"));
    }
}

附加、递归连续数

以下程序打印出0~9的数字,请补充缺少的代码。



public class MyTest

{

public static void f(int begin, int end)

{

__________________;

System.out.println(begin);

f(begin+1, end);

}

public static void main(String[] args)

{

f(0,9);

}


}


填空:


if(begin > end) return;
package action;
public class demo2 {
  public static void f(int begin, int end) {
  if(begin > end) return;
  System.out.println(begin);
  f(begin + 1, end);
  }
  public static void main(String[] args) {
  f(0, 9);
  }
}




image.png

相关文章
蓝桥杯:2021省赛 例题:时间显示
蓝桥杯:2021省赛 例题:时间显示
61 0
|
算法
每日一题冲刺大厂第十七天 逆序对
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
262 0
|
Java C语言 C++
【蓝桥杯基础题】2021年省赛填空题—卡片
【蓝桥杯基础题】2021年省赛填空题—卡片
【蓝桥杯基础题】2021年省赛填空题—卡片
|
Java C语言 C++
【蓝桥杯基础题】2020年省赛填空题—既约分数
【蓝桥杯基础题】2020年省赛填空题—既约分数
【蓝桥杯基础题】2020年省赛填空题—既约分数
|
存储 网络协议 算法
小题 错题总结
小题 错题总结
109 0
小题 错题总结
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天-1
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天
137 0
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天-1
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天-2
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天
100 0
【蓝桥杯省赛】冲刺练习题【填空题】倒计时【07】天-2
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天-1
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天
94 0
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天-1
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天-2
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天
87 0
【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天-2
|
机器学习/深度学习 芯片
【蓝桥杯省赛】冲刺练习题【数组】倒计时【13】天-2
【蓝桥杯省赛】冲刺练习题【数组】倒计时【13】天
172 0
【蓝桥杯省赛】冲刺练习题【数组】倒计时【13】天-2