首页 > 代码库 > hust 1074
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\n",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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。