程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 1228 A + B 的浙大考研題

HDU 1228 A + B 的浙大考研題

編輯:C++入門知識

Problem Description 讀入兩個小於100的正整數A和B,計算A+B.
需要注意的是:A和B的每一位數字由對應的英文單詞給出.

Input 測試輸入包含若干測試用例,每個測試用例占一行,格式為"A + B =",相鄰兩字符串有一個空格間隔.當A和B同時為0時輸入結束,相應的結果不要輸出.

Output 對每個測試用例輸出1行,即A+B的值.

Sample Input
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =

Sample Output
3
90
96

Source 浙大計算機研究生復試上機考試-2005年


浙大考研題目啊。貼一貼,呵呵。 讓我回想了當年考研。

不過就和題目一樣簡單,就是A+B的問題,盲打也能過。

呵呵。不過考了字符的轉換。

回想起當年考研,哎。往事不堪回首。

過去了,著眼未來吧。早已經遠超越這種境界了。繼續努力吧。


#include 
#include 
#include 

char *strs[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
char s1[20], s2[20];
int main()
{	
	while (true)
	{
		int a = 0, b = 0, c = 0;
		while (scanf("%s", &s1) && s1[0] != '+')
		{
			for (int i = 0; i < 10; i++)
			{
				if (!strcmp(strs[i], s1))
				{
					c = i;
					break;
				}
			}
			a = a * 10 + c;
		}
		while (scanf("%s", &s2) && s2[0] != '=')
		{
			for (int i = 0; i < 10; i++)
			{
				if (!strcmp(strs[i], s2))
				{
					c = i;
					break;
				}
			}
			b = b * 10 + c;
		}
		if (a == 0 && b == 0) break;
		printf("%d\n", a + b);
	}
	return 0;
}



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved