栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1019 数字黑洞 (20 分)----每日一题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1019 数字黑洞 (20 分)----每日一题

#include 
char max(int ,int , int );
int main(void)
{
    int num,sum;
    char fir, sec;
    int cfir = 0, jfir = 0, bfir = 0, csec = 0, jsec = 0, bsec = 0;
    int win = 0, lose = 0;
    scanf("%d", &num);
    getchar();//首先,因为题意,读取num后要空一行,所以会有换行符,而下一行正好要读取字符,所以得消去'n'
    sum = num;
    do{
        scanf("%c %c", &fir, &sec);
        getchar();//与上述同理
        if (fir == 'C')//字符的比较,一定要用''表明这是一个字符
        {
            if (sec == 'J')
            {
                cfir++;
                win++;
                continue;
            }
            if (sec == 'B')
            {
                bsec++;
                lose++;
                continue;
            }
        }
        else if (fir == 'J')
        {
            if (sec == 'B')
            {
                jfir++;
                win++;
                continue;
            }
            if (sec == 'C')
            {
                csec++;
                lose++;
                continue;
            }
        }
        else if (fir == 'B')
        {
            if (sec == 'J')
            {
                jsec++;
                lose++;
                continue;
            }
            if (sec == 'C')
            {
                bfir++;
                win++;
                continue;
            }
        }
        else 
        continue;
    }while (--sum);//使用递减运算符就得认识到这是在自损,也就是说原变量的值会发生改变
    printf("%d %d %dn", win, (num - win - lose), lose);
    printf("%d %d %dn", lose, (num - win - lose), win);
    printf("%c %cn", max(cfir, jfir, bfir), max(csec, jsec, bsec));
    return 0;   
}
char max (int c, int j, int b)
{
    if (c == j && c== b)
    return 'B';
    else if  (c == j)
    {
        if (c > b)
        return 'C';
        else 
        return 'B';
    }
    else if (c == b)
    {
        if (c > j)
        return 'B';
        else
        return 'J';
    }
    else if  (b == j)
    {
        if (c > b)
        return 'C';
        else 
        return 'B';
    }
    else
    {
        if (c > b && c > j)
        return 'C';
        if (b > j && b > c)
        return 'B';
        if (j > b && j > c)
        return 'J';
    } 
}

坚持刷题,在题海中认识自己的不足。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号