您的位置:首页 > 其它

北京师范大学第十五届ACM决赛 C题 Captcha Cracker 【水题模拟】

2017-09-07 17:22 211 查看
传送门暂时没有, 嘻嘻

//就是给你一串包含小写字母和数字的字符串, 从中打印出是02469的, 英文的也算. 0 - zero…..

//就是一份很简单的模拟. 用string做也是非常好写的. 记一记

AC Code

/** @Cain*/
void solve()
{
string s;
cin >> s;
for (int i = 0;i < s.size(); i ++){
if(s[i] == '0' || s[i] == '2' || s[i] == '4' || s[i] == '6' || s[i] == '9' )
printf("%c",s[i]);
else if(s.substr(i,4) == "zero")
i+=3,printf("0");
else if(s.substr(i,3) == "two")
i+=2,printf("2");
else if(s.substr(i,4) == "four")
i+=3,printf("4");
else if(s.substr(i,3) == "six")
i+=2,printf("6");
else if(s.substr(i,4) == "nine")
i+=3,printf("9");
}  //因为最后循环会自动加1,所以加的时候少加1.
printf("\n");
}


//当然是用string 的 substr操作, substr(a,b) 表示从字符串第a为开始往后取b个字符组成的字符串…. 并且如果起点越界了会报错..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐