a+b
1、题目内容
Description
输入两个数码的英文,求其和值。
输入
第一行是一个整数N,表示样例的个数。以后每行两个字符串,是数码的单词,之间用一个空格隔开。
输出
每行输出一个样例的结果,一个10进制整数。
Sample Input
5
zero one
two three
four five
six seven
eight nine
Sample Output
1
5
9
13
17
2、题目分析
在这个题目里主要就是对字符串操作的考察,用两个数组存储好两个相加数字的英语表示,然后自定义一个函数用于将字符串转化为对应的数字,此过程主要就是对strcmp()函数的使用。字符串转化后即可得出相加的结果。
3、参考代码
#include<stdio.h>
#include<string.h>
int change(char str[]) //自定义了一个函数用于将字符串转化为对应的数字
{
if(strcmp(str,"zero")==0) return 0;
else if(strcmp(str,"one")==0) return 1;
else if(strcmp(str,"two")==0) return 2;
else if(strcmp(str,"three")==0) return 3;
else if(strcmp(str,"four")==0) return 4;
else if(strcmp(str,"five")==0) return 5;
else if(strcmp(str,"six")==0) return 6;
else if(strcmp(str,"seven")==0) return 7;
else if(strcmp(str,"eight")==0) return 8;
else if(strcmp(str,"nine")==0) return 9;
}
int main()
{
int i,j,n;
char a[12],b[12];
scanf("%d",&n);
while(n--)
{
scanf(" %s %s",a,b);
printf("%d\n",change(a)+change(b)); //转化后即可对其进行相加
}
return 0;
}