虎棒鸡虫令 小游戏 c语言编程

小P宿舍舍友很喜欢玩一种“虎棒鸡虫令”游戏,分别有四种动物,老虎、棒子、鸡、虫,一物克一物,两人相对,各用一根筷子相击,同时口喊棒子棒子…或喊老虎,或喊棒子,或喊鸡,或喊虫。规定:以棒击虎,虎吃鸡,鸡吃虫,虫吃棒;负者饮酒,若棒子与鸡,虎与虫同时喊出,则不分胜负。
输入格式:
输入一行,有两个单词以空格隔开,tiger表示老虎,stick表示棒子,chicken表示鸡,worm表示虫。

输出格式:
如果第一个人赢,输出1,第二个人赢,输出2,平手输出“draw”。

输入样例:

tiger chicken

输出样例:

1


#include <stdio.h>
#include <string.h>

int main()
{
    char a[10], b[10];
    scanf("%s%s",&a,&b);
    if (strcmp(a,"tiger")==0)
    {
        if (strcmp(b, "stick")==0)
        {
            printf("2");
        }
        else if (strcmp(b, "chicken") == 0)
        {
            printf("1");
        }
        else
        {
            printf("draw");
        }
    }
    else if (strcmp(a, "stick") == 0)
    {
        if (strcmp(b, "worm") == 0)
        {
            printf("2");
        }
        else if (strcmp(b, "tiger") == 0)
        {
            printf("1");
        }
        else
        {
            printf("draw");
        }
    }
    else if (strcmp(a, "chicken") == 0)
    {
        if (strcmp(b, "tiger") == 0)
        {
            printf("2");
        }
        else if (strcmp(b, "worm") == 0)
        {
            printf("1");
        }
        else
        {
            printf("draw");
        }
    }
    else     if (strcmp(a, "worm") == 0)
    {
        if (strcmp(b, "chicken") == 0)
        {
            printf("2");
        }
        else if (strcmp(b, "stick") == 0)
        {
            printf("1");
        }
        else
        {
            printf("draw");
        }
    }
    return 0;
}
#include <stdio.h>
#include <string.h>

#define TIGER   0
#define STICK   1
#define CHICKEN 2
#define WORM    3

int to_int(char * s)
{
    if (strcmp(s, "tiger") == 0)
        return TIGER;
    if (strcmp(s, "stick") == 0)
        return STICK;
    if (strcmp(s, "chicken") == 0)
        return CHICKEN;
    if (strcmp(s, "worm") == 0)
        return WORM;
    return -1;
}

int main()
{
    char a[10], b[10];
    int c[4][4] = {
                 /*TIGER*/  /*STICK*/ /*CHIKEN*/  /*WORM*/ /*Player2*/
    /*TIGER  */  {   0,        2,        1,          0    },
    /*STICK  */  {   1,        0,        0,          2    },
    /*CHIKEN */  {   2,        0,        0,          1    },
    /*WORM   */  {   0,        1,        2,          0    }
    /*Player1*/     
    };
    int i, j;
    scanf("%s%s", a, b);
    i = to_int(a);
    j = to_int(b);
    if (i == -1 || j == -1) {
        printf("invalid input\n");
        return -1;
    }
    if (c[i][j] == 0)
        printf("draw\n");
    else
        printf("%d\n", c[i][j]);
    return 0;
}