zoukankan      html  css  js  c++  java
  • 1295 爱翻译

    1295 爱翻译

    题目描述

    英语是现在世界第一大语言,所以学好英语是very important,
    但是宁波大学的某个大牛说:“我不怕,我可以写一个程序让各种语言
    快速转换。”哎呀,学编程的,惹不起...溜...┈━═☆
    咱不是大牛,但有追逐大牛的梦想,大牛的伟大程序不是随便能盗版出来的,
    我们就做一个简单的翻译器,把阿拉伯数字转换为英文输出。

    输入要求

    小于10000的非负阿拉伯数字整数n。

    输出要求

    对应的英文,如样例,一个一行。

    测试数据

    //输入
    3923
    5021
    
    //输出
    three thousand nine hundred twenty three
    five thousand twenty one
    

    AC代码

    折磨人的代码,多棒 = =

    • 考虑好10-19,11是eleven,不是ten one
    • 注意输入0 也要输出zero,而不是什么都不输出
    • 其他照旧
    #include <bits/stdc++.h>
    using namespace std;
    int main() {
    	string in,res[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
    	string shi[10]={"","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
    	string shi2[10]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
    	int f,num;
    	while(cin>>in)
    	{
    		if(in.size()==1) //个位数单独考虑 
    		{
    			cout<<res[in[0]-'0']<<endl;continue;
    		}
    		f=0;
    		// 输出千位和百位,如果没有则不用输出 
    		for(int i=0;i<in.size()-2;i++) 
    		{
    			if(in[i]=='0') continue;
    			if(f) cout<<" ";f=1;
    			cout<<res[in[i]-'0'];
    			if(in.size()-i==4) printf(" thousand");
    			if(in.size()-i==3) printf(" hundred");
    		}
    		
    		 // 输出十位和个位
    		num=(in[in.size()-2]-'0')*10+in[in.size()-1]-'0';
    		if(num>=10 && num<=19)
    		{
    			if(f) cout<<" ";f=1;
    			cout<<shi2[num-10];
    		}
    		else 
    		{
    			for(int i=in.size()-2;i<in.size();i++) 
    			{
    				if(in[i]=='0') continue;
    				if(f) cout<<" ";f=1;
    				if(in.size()-i==2) cout<<shi[in[i]-'0'];		
         			else cout<<res[in[i]-'0'];
    			}
    		}
    		cout<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    【Cookie】java.lang.IllegalArgumentException An invalid character [32] was present in the Cookie value
    【会话技术】Cookie技术 案例:访问时间
    进程池
    管道和Manager模块(进程之间的共享内容)
    队列
    锁Lock,信号量Semaphore,事件机制Event
    multiprocess模块
    进程
    reduce
    struct模块
  • 原文地址:https://www.cnblogs.com/xxhao/p/14319151.html
Copyright © 2011-2022 走看看