• hust 1074


    这是错误程序

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<map>
    #include<algorithm>
    using namespace std;
    map<string,int>cow;
    int main()
    {
        //freopen("in.txt","r",stdin);
        char str[1000],name[11],name1[11],name2[11],name3[11],num[11];
        char op;
        while(gets(str))
        {
            if (str[0]=='i' && str[1]=='n' && str[2]=='t'){
                bool cut=true;
                int k=0;
                for (int i=4;i<strlen(str)-1;i++)
                {
                    if (str[i]=='=')
                    {
                        name[k]=NULL;
                        k=0;
                        cut=false;
    continue;
                    }
                    if(cut) name[k++]=str[i];
                    else num[k++]=str[i];
                }
                num[k]=NULL;
                cow[name]=atoi(num);
            }
            else if (str[0]=='p' && str[1]=='r' && str[2]=='i' && str[3]=='n' && str[4]=='t' && str[5]=='f')
            {
                int i=8;
                while(str[i]!=',') i++;
                int k=0;
                for (int j=i+1;str[j]!=')';j++) name[k++]=str[j];
                name[k]=NULL;
                printf("%d
    ",cow[name]);
            }
            else
            {
                int k=0;
                bool cut1=true,cut2=true;
                for (int i=0;i<strlen(str)-1;i++){
                if (str[i]=='=')
                {
                    name1[k]=NULL;
                    k=0;
                    cut1=false;
                }
                else if (str[i]=='+' || str[i]=='-' || str[i]=='*' || str[i]=='/')
                {
                    op=str[i];
                    name2[k]=NULL;
                    k=0;
                    cut2=false;
                }
                else if (cut1) name1[k++]=str[i];
                else if (!cut1 && cut2) name2[k++]=str[i];
                else if (!cut1 && !cut2) name3[k++]=str[i];
                }
                name3[k]=NULL;
                if (op=='+')
                {
                    int sum=cow[name2]+cow[name3];
                    cow[name1]=sum;
                }
                if (op=='-')
                {
                    int sum=cow[name2]-cow[name3];
                    cow[name1]=sum;
                }
                if (op=='*')
                {
                    int sum=cow[name2]*cow[name3];
                    cow[name1]=sum;
                }
                if (op=='/')
                {
                    int sum=cow[name2]/cow[name3];
                    cow[name1]=sum;
                }
            }
        }
        //fclose(stdin);
        return 0;
    }
    至少做到我努力了
  • 相关阅读:
    android作业10.21
    安卓10.7作业
    安卓9.30
    9.23作业
    9.17安卓作业
    6.12作业
    5.29作业
    5.28上机作业
    leetcode 219
    策略模式
  • 原文地址:https://www.cnblogs.com/chensunrise/p/3724941.html
Copyright © 2020-2023  润新知