2017.6.4测试 题四 猜数


var
 s,ss:string;
 n,x,k,i,j,h,t:longint;
 ans:char;
function max(a,b:longint):longint;
begin
 if a>b then exit(a);
 exit(b);
end;
function min(a,b:longint):longint;
begin
 if a<b then exit(a);
 exit(b);
end;
begin
 readln(n);
 h:=-2333333;t:=2333333;//用作比大小
 for i:=1 to n do
  begin
   readln(s);
   k:=pos(' ',s);//分离出大于、小于或等于符号
   ss:=copy(s,1,k-1);
   delete(s,1,k);
   k:=pos(' ',s);//分离出数字
   val(copy(s,1,k-1),x);
   ans:=s[k+1];
   if ans='N' then//如果是'N'的话,就得把符号反转(不包括它的所有情况)
    begin
     if ss='>' then ss:='<='
               else if ss='<' then ss:='>='
                              else if ss='>=' then ss:='<'
                                              else if ss='<=' then ss:='>';
    end;
   if ss='>' then h:=max(h,x+1);//最小也要比x大1
   if ss='>=' then h:=max(h,x);//最小就相同
   if ss='<' then t:=min(t,x-1);//最大顶多比x小1
   if ss='<=' then t:=min(t,x);//最大就相同
  end;
 if h<=t then writeln(h)//如果满足所有大于(等于)的,也满足所有小于(等于)的,它就是最小的(选h是因为它每次比较都是选最小的比,不停动态规划成最小了)
         else writeln('Impossible');
end.

要使用Java创建一个0到100之间的猜数游戏,你可以按照以下步骤进行: 1. 生成随机数:首先需要生成一个0到100之间的随机数,这个随机数是用户需要猜测的目标数字。 2. 用户输入:程序需要提示用户输入他们的猜测,并接收用户的输入。 3. 结果判断:程序需要根据用户的输入判断用户猜的数字是太高、太低还是正确。 4. 循环猜测:用户需要有多次机会猜测,直到猜对为止。每次猜测后,程序应该给出相应的提示,并让用户继续猜测。 5. 结束游戏:一旦用户猜对了数字,游戏结束,并显示用户猜测的次数。 下面是一个简单的Java程序示例代码,实现了上述功能: ```java import java.util.Scanner; import java.util.Random; public class GuessNumberGame { public static void main(String[] args) { // 创建Scanner对象以获取用户输入 Scanner scanner = new Scanner(System.in); // 创建Random对象以生成随机数 Random random = new Random(); // 生成一个0到100之间的随机数 int numberToGuess = random.nextInt(101); // 用户猜测次数 int numberOfTries = 0; // 用户猜测的数字 int guess; System.out.println("猜数游戏开始!我已经想好了一个0到100之间的数字。"); // 循环直到用户猜对数字 while(true) { System.out.print("猜猜看,这个数字是多少? "); guess = scanner.nextInt(); // 获取用户输入 numberOfTries++; if(guess < numberToGuess) { System.out.println("太低了,再试一次。"); } else if(guess > numberToGuess) { System.out.println("太高了,再试一次。"); } else { System.out.println("恭喜你,猜对了!数字就是 " + numberToGuess); System.out.println("你总共猜了 " + numberOfTries + " 次。"); break; // 猜对了,退出循环 } } scanner.close(); // 关闭scanner对象 } } ``` 运行这个程序,用户将被提示输入猜测的数字,并根据程序的提示进行多次猜测,直到猜对为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值