洛谷P2108学英语题解

来我的博客里拥有更好的阅读体验:https://yyxi.ml/2020/07/23/luogu-p2108-xueyingyu/

题目描述

洛谷链接
题目描述

为了适应紧张的大学学习生活,小Z发愤图强开始复习巩固英语。
由于小Z对数学比较有好感,他首先复习了数词。小Z花了一整天的时间,终于把关于基数词的知识都搞懂了。于是小Z非常兴奋,决定出一些题目考考已经过了英语四级、人称英语帝的小 G。考法很简单:小Z给出某个整数 x 的英文写法,要求小D用阿拉伯数字写出x。
小Z会保证以下几点:
1、-999,999,999 ≤ x ≤ 999,999,999
2、题目中只会用到以下这些英文单词:negative, zero, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen,fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty, sixty, seventy, eighty, ninety, hundred, thousand, million
3、若 x 为负数,题目中第一个单词是 negative,否则任何时候都不会出现 negative 这个词。
4、由于小Z很牛 B,他不知道像 103 这样的数字要写成 one hundred and three 而是直接写成了 one hundred three,就是说小Z的所有题目中都没有写 and 这个词(尽管本应该是要写的),请你谅解。
5、除了第 4 点, 其他还是基本符合英语的语法规则的, 比如 1500 他会写成 one thousand five hundred 而不会写成 fifteen hundred。
小D拿到题目后不屑地说了一句:水题!写个程序么好了……
但是小D要出去玩(此时应该已经在千里之外爽玩了) ,这个任务就交给你了。

输入格式

一行,题目描述中所说的 x 的英文写法。

输出格式

一行, x 的阿拉伯数字写法。

输入输出样例

输入#1:six
输出#1:6

输入#2:negative seven hundred twenty nine
输出#2:-729

输入#3:one million one hundred one
输出#3:1000101

输入#4:eight hundred fourteen thousand twenty two
输出#4:814022

说明/提示

【数据规模】
对于100%的数据,-999,999,999 ≤ x ≤ 999,999,999
【时空限制】
0.1s/16M

代码、思路

#include<iostream>
using namespace std;
int main(){
   
	int ans=0,end=0; //ans为临时存储结果,end才为真正的输出结果 
	string tmp; //每次输入一个字符,暂时存储在tmp内 
	while(cin>>tmp){
   
		if(tmp=="negative"){
    //如果第一个单词为“negative”,直接输出“-” 
			cout <<"-";
		}
		if(tmp=="zero"){
   </
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值