• 【郑轻】[1773]Lovely simple problem two


    这里写图片描述
    这里写图片描述

    刚开始没有HINT
    所以想的比较麻烦
    超长代码如下:

    #include<stdio.h>
    #include<string.h>
    int main() {
        char s[100];
        int x,l,i;
        int re,t,p;
        while(scanf("%s",s)!=EOF) {
            l=strlen(s);
            for(i=x=re=0; i<l; i++) {
                if(i==0) {
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(re=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        re=re*10+s[i]-'0';
                    }
                    if(x==1) {
                        x=0;
                        re=-re;
                    }
                }
                if(s[i]=='+') {
                    i++;
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(p=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        p=p*10+s[i]-'0';
                    }
                    if(x==1) {
                        x=0;
                        p=-p;
                    }
                    re=re+p;
                } else if(s[i]=='-') {
                    i++;
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(p=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        p=p*10+s[i]-'0';
                    }
                    if(x==1) {
                        x=0;
                        p=-p;
                    }
                    re=re-p;
                } else if(s[i]=='*') {
                    i++;
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(p=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        p=p*10+s[i]-'0';
                    }
                    if(x==1) {
                        x=0;
                        p=-p;
                    }
                    re=re*p;
                } else if(s[i]=='/') {
                    i++;
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(p=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        p=p*10+s[i]-'0';
                    }
                    if(x==1) {
                        x=0;
                        p=-p;
                    }
                    re=re/p;
                }
                if(s[i]=='=') {
                    i++;
                    if(s[i]=='-') {
                        i++;
                        x=1;
                    }
                    for(p=0; '0'<=s[i]&&s[i]<='9'; i++) {
                        p=p*10+s[i]-'0';
                    }
                    if(x==1)
                        p=-p;
                    if(re==p)
                        printf("YES\n");
                    else
                        printf("NO\n");
                } else
                    i--;
            }
        }
        return 0;
    }

    另附 @A_ice 的气死人不偿命代码:

    #include<stdio.h>
    int main()
    {
        int a,b,d,sum;
        char s,w;
        while(~scanf("%d%c%d%c%d",&a,&s,&b,&w,&d))
        {
            if(s=='+')
                sum=a+b;
            if(s=='-')
                sum=a-b;
            if(s=='*')
                sum=a*b;
            if(s=='/')
                sum=a/b;
            if(sum==d)
                printf("YES\n");
            else
                printf("NO\n");
        }   
        return 0;
    }

    看完的感觉就是……
    我勒个去……这也行 -.-

    题目地址:【杭电】[1773]Lovely simple problem two

  • 相关阅读:
    心血来潮学python
    lua中的table、stack和registery
    wrapper for lua
    FT232RL变砖之后
    12.04 redmine
    Webpack 概念
    如何学习 Webpack
    React基础篇
    Intellij实用技巧
    一行代码搞定图片缩放、旋转、加水印
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569982.html
Copyright © 2020-2023  润新知