本文主要是介绍九度OJ-1010-A+B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5523
解决:2880
- 题目描述:
- 读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
- 输入:
- 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
- 输出:
- 对每个测试用例输出1行,即A+B的值.
- 样例输入:
-
one + two = three four + five six = zero seven + eight nine = zero + zero =
- 样例输出:
-
3 90 96
- 来源:
- 2005年浙江大学计算机及软件工程研究生机试真题
-
import java.util.Scanner; public class Main {public static void main(String[] args){Scanner in=new Scanner(System.in);while(true){int i,a=0,b=0;String c;c=in.nextLine();for( i=0;i<c.length()-1;i++){if(c.charAt(i)=='+') break;if(c.charAt(i)=='o'&&c.charAt(i+1)=='n') a=a*10+1;else if(c.charAt(i)=='t'&&c.charAt(i+1)=='w') a=a*10+2;else if(c.charAt(i)=='t'&&c.charAt(i+1)=='h') a=a*10+3;else if(c.charAt(i)=='f'&&c.charAt(i+1)=='o') a=a*10+4;else if(c.charAt(i)=='f'&&c.charAt(i+1)=='i') a=a*10+5;else if(c.charAt(i)=='s'&&c.charAt(i+1)=='i') a=a*10+6;else if(c.charAt(i)=='s'&&c.charAt(i+1)=='e') a=a*10+7;else if(c.charAt(i)=='e'&&c.charAt(i+1)=='i') a=a*10+8;else if(c.charAt(i)=='n'&&c.charAt(i+1)=='i') a=a*10+9;else if(c.charAt(i)=='z'&&c.charAt(i+1)=='e') a=a*10+0;}for(i=i+1;i<c.length()-1;i++){if(c.charAt(i)=='+') break;if(c.charAt(i)=='o'&&c.charAt(i+1)=='n') b=b*10+1;else if(c.charAt(i)=='t'&&c.charAt(i+1)=='w') b=b*10+2;else if(c.charAt(i)=='t'&&c.charAt(i+1)=='h') b=b*10+3;else if(c.charAt(i)=='f'&&c.charAt(i+1)=='o') b=b*10+4;else if(c.charAt(i)=='f'&&c.charAt(i+1)=='i') b=b*10+5;else if(c.charAt(i)=='s'&&c.charAt(i+1)=='i') b=b*10+6;else if(c.charAt(i)=='s'&&c.charAt(i+1)=='e') b=b*10+7;else if(c.charAt(i)=='e'&&c.charAt(i+1)=='i') b=b*10+8;else if(c.charAt(i)=='n'&&c.charAt(i+1)=='i') b=b*10+9;else if(c.charAt(i)=='z'&&c.charAt(i+1)=='e') b=b*10+0;}if(a==0&&b==0) break;System.out.println(a+b);}in.close();} }
这篇关于九度OJ-1010-A+B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!