栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3337 Expression Evaluator

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

poj 3337 Expression Evaluator

#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int n,a[26],ans,tag;char ex2[500];char ex[500];bool vis[26];int main(){    scanf("%d",&n);    getchar();    for(int i=0;i<n;i++)    {        gets(ex2);        strcpy(ex,ex2);        for(int j=0;j<strlen(ex);j++)        {if(ex[j]==' '){    int p=j;    for(;ex[p]!='';p++) ex[p]=ex[p+1];    j--;}        }        memset(vis,0,sizeof(vis));        for(int j=0;j<26;j++) a[j]=j+1;        int label=1;        ans=0;        for(int j=0;j<strlen(ex);j++)        { if(ex[j]=='-'|| ex[j]=='+') {     if((ex[j+1]=='-' && ex[j]=='-' ||ex[j+1]=='+'&&ex[j]=='+')&& (ex[j+2]<='z' && ex[j+2]>='a'))     {         a[ex[j+2]-'a']+=ex[j]=='+'?1:-1,j+=1;         vis[ex[j+1]-'a']=1;     }     else         label=ex[j]=='+'?1:-1; } else     if(ex[j]<='z'&&ex[j]>='a')     {         int flag=0;         ans+=label*a[ex[j]-'a'];         if(!vis[ex[j]-'a']) flag=1,vis[ex[j]-'a']=1;         if(flag&&(ex[j+1]=='-'&&ex[j+2]=='-' || ex[j+1]=='+'&&ex[j+2]=='+'))         {  a[ex[j]-'a']+=ex[j+1]=='+'?1:-1,j+=2;         }     }        }        printf("expression: %sn",ex2);        printf("value = %dn",ans);        for(int j=0;j<26;j++)        { if(vis[j])     printf("%c = %dn",j+'a',a[j]);        }    }     return 0; }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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