注册 登录
编程论坛 C++教室

求高手指点!!!

lin389064181 发布于 2012-11-28 01:22, 268 次点击
#include<stdio.h>
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        if(a>b)
            printf("zhuojiahe\n");
       else    if(a<b)
            printf("only_laona\n");
      else
            printf("Again!\n");
    }
    return 0;
}
怎么上交就说我错呢?




Problem Description
广师传说中有一支叫做2B矩阵的队伍(都是同一个宿舍的)。2B矩阵队中的only_laona和zhuojiahe经常都会在宿舍组队做比赛,通常都是被各路神牛虐到渣都不剩。不过他们还是觉得ACM比赛很有乐趣。

当然,整天泡宿舍肯定面临着一个很严重的问题——吃饭。由于宿舍是在七栋1楼(确切来说是4楼,因为下面有三层是食堂)。所以only_laona和zhuojiahe都懒(下一层就能吃饭,可想而知他们是多么懒)。可是又不得不吃,结果每次only_laona都会叫zhuojiahe下去打包,zhuojiahe也叫only_laona去打包。

逼于无奈,他们两个只好出此下策——猜拳,谁输了就谁下去帮另一个人打包。
Input
输入包含多组数据,每组数据包含2个整数a和b (1 <= a, b <= 3),a表示only_laona的状态,b表示zhuojiahe的状态。状态表示:1表示剪刀,2表示石头,3表示布。
Output
对于每组数据,输出输的一方是谁。如果是only_laona输了,就输出“only_laona”(不包含双引号)。如果是zhuojiahe输了,就输出“zhuojiahe”(不包含双引号)。平手则输出“Again!”(不包含双引号)。
Sample Input
2 1
2 3
1 1
Sample Output
zhuojiahe
only_laona
Again!
2 回复
#2
linan032012-11-28 05:57
很明显,你没有考虑过 剪刀 和 布 同时出现的情况 。
你根据数值来判断的话,要剪刀 比 布大 ,但是1 会比 3 大吗?
#3
rjsp2012-11-28 11:02
我来帮你写一个,只要你能看懂^_^

程序代码:
#include <stdio.h>

int main()
{
    int a,b;
    while( scanf("%d%d",&a,&b) == 2 )
    {
        printf( "%s\n", "Again!\0   zhuojiahe\0only_laona\0"+(a+3-b)%3*10 );
    }
    return 0;
}

1