【杭电】[1228]A + B

文章字数:161

问题描述

问题分析

挺有意思的一道题
就是一个英语字符串与数字的转化

这里把单词储存为一个数组,然后通过比较字符串与对应哪个下标字符相同,进而来进行转换

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<stdio.h>
#include<string.h>
char num[10][6]= {"zero","one","two","three","four","five","six","seven","eight","nine"};
int ex(char s[]) {
	for(int i=0; i<10; i++) {
		if(strcmp(s,num[i])==0)
			return i;
	}
}

int main() {
	char s[10];
	while(true) {
		int ta=0,tb=0;
		while(scanf("%s",s),strcmp(s,"+")!=0) {
			ta=ta*10+ex(s);
		}
		while(scanf("%s",s),strcmp(s,"=")!=0) {
			tb=tb*10+ex(s);
		}
		if(ta==0&&tb==0)
			break;
		else
			printf("%d\n",ta+tb);
	}
	return 0;
}

题目地址:【杭电】[1228]A + B

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...