CCF2019-03-02 二十四点 C语言

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int i,j,n;
    char s[100][10];
    int c[7];
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
        gets(s[i]);
    for(i=0;i<n;i++)
    {
        for(j=0;j<7;j+=2)
            c[j]=s[i][j]-'0';
        //处理乘除
        //结果放到运算符的后一位,运算符前一位置零,运算符置为前一个运算符
        for(j=1;j<7;j+=2)
        {
            if(s[i][j]=='x')
            {
                c[j+1]=c[j-1]*c[j+1];
                if(j==1)
                {
                    s[i][j]='+';
                }
                else{
                    s[i][j]=s[i][j-2];
                }
                c[j-1]=0;
            }
            if(s[i][j]=='/')
            {
                c[j+1]=c[j-1]/c[j+1];
                if(j==1)
                {
                    s[i][j]='+';
                }
                else{
                    s[i][j]=s[i][j-2];
                }
                c[j-1]=0;
            }

        }
        //计算加减
        for(j=1;j<7;j+=2)
        {
            if(s[i][j]=='+')
                c[0]+=c[j+1];
            else
                c[0]-=c[j+1];
        }
        if(c[0]==24)
            printf("Yes\n");
        else
            printf("No\n");

    }

    return 0;
}

在这里插入图片描述

发布了28 篇原创文章 · 获赞 2 · 访问量 226

猜你喜欢

转载自blog.csdn.net/weixin_42213421/article/details/104962029