zoukankan      html  css  js  c++  java
  • UVa 489 刽子手游戏

    游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母
    则计算机会在一副“刽子手”画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次。注意猜一个已经猜过的字母也算错。
    在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了,(You win.)、输了(You lose.)、还是放弃了(You chickened out.)
    每组包含3行,第一行是游戏编号(-1为输入结束标记),第2行是计算机想的单词,第3行是玩家的猜测。后两行保证只含小写字母。

    #include<stdio.h>
    #include<string.h>
    char s[100],s2[100];
    int left,chance;
    void guess(char s);
    main()
    {
        int rnd;
        unsigned int i;
        while(scanf("%d%s%s",&rnd,s,s2)==3&&rnd!=-1)
        {
            chance=7;
            left=strlen(s);
            for(i=0;i<strlen(s2);i++)
            {
                guess(s2[i]);
            }
            printf("Round %d
    ",rnd);
            if(!left)                printf("You win.
    ");
            else if(chance<=0)         printf("You lose.
    ");
            else                     printf("You chickened out.
    ");
        }
    }
    
    void guess(char c)
    {
        int bad=1;
        unsigned int i;
        for(i=0;i<strlen(s);i++)
        {
            if(s[i]==c) {left--;s[i]=' ';bad=0;}
        }
            if(bad) chance--;
    }

    ①首先要注意设置好全局变量。

    ②strlen()所返回的是无符号值,所以如果int i, i<strlen()会出错,所以在声明时加上unsigned。

  • 相关阅读:
    Ubuntu常用命令
    Linux 虚拟机安装Ubuntu
    word 2019 方框中打勾
    apache httpd的安装和虚拟主机配置(基于centos 7)
    LoadRunner 12.5 community edition 试玩+Linux主机监控
    Directory Service目录服务
    TCP/IP脑图
    Qt样式选择器
    常见电脑进入BIOS的快捷键
    网线(RJ45接口)的接法
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/5990853.html
Copyright © 2011-2022 走看看