杭电1228 --map的应用

#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
int main(){
	mp["zero"]=0;mp["one"]=1;mp["two"]=2;mp["three"]=3;mp["four"]=4;mp["five"]=5;mp["six"]=6;mp["seven"]=7;mp["eight"]=8;mp["nine"]=9;
	char a[20];
	int sum=0,sum1=0;//用sum表示每次输入的数字,sum1能暂时储存‘+’前面的数。
	while(~scanf("%s",a)){
		if(a[0]=='+') {
			sum1 = sum;
			sum =0;
		}
		if(mp.count(a)) sum = sum*10+mp[a];  //map的用法,有这个元素返回1,无则返回0;
		if(a[0]=='='){
			if(sum1+sum==0) break;
			else
			 printf("%d\n",sum1+sum);
			 sum = sum1 =0;
		}
	}
	return 0;
}
全部评论

相关推荐

头像
03-20 22:00
重庆大学 Java
适彼乐土:“他们不行再找你” 最后的底牌吗?有点意思
点赞 评论 收藏
分享
永不遗忘:才这么点算什么拉黑,我初筛连着挂几十次了,最后还是能进面
点赞 评论 收藏
分享
有没有友友知道这样是开启下一个志愿还是在池子里等人捞
早饭有梨:为什么有的是回到人才池,有的是变成筛选中,我二面挂直接变回筛选中了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务