博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
航院 6213 Chinese Zodiac
阅读量:5845 次
发布时间:2019-06-18

本文共 2099 字,大约阅读时间需要 6 分钟。

Chinese Zodiac

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)

Total Submission(s): 121 Accepted Submission(s): 90

Problem Description

The Chinese Zodiac, known as Sheng Xiao, is based on a twelve-year cycle, each year in the cycle related to an animal sign. These signs are the rat, ox, tiger, rabbit, dragon, snake, horse, sheep, monkey, rooster, dog and pig.
Victoria is married to a younger man, but no one knows the real age difference between the couple. The good news is that she told us their Chinese Zodiac signs. Their years of birth in luner calendar is not the same. Here we can guess a very rough estimate of the minimum age difference between them.
If, for instance, the signs of Victoria and her husband are ox and rabbit respectively, the estimate should be2 years. But if the signs of the couple is the same, the answer should be 12 years.

Input

The first line of input contains an integerT (1≤T≤1000) indicating the number of test cases.
For each test case a line of two strings describes the signs of Victoria and her husband.

Output

For each test case output an integer in a line.

Sample Input

3
ox rooster
rooster ox
dragon dragon

Sample Output

8
4
12

题意概括:给出一个女人和一个更年轻的男人两个人的生肖,求两个人之间年龄相差多少年。

解题思路:

1: 将所有的属相存入一个二维数组,并由1~12进行编号
2: 将输入的属相与二维数组中的属相比较,若相同,则将其编号赋给一个变量
3: 将两个变量进行比较,若女人的属相编号小于男人的属相编号,则用男人的属相编号减去女人的属相编号;若女人的属相编号大于男人的属相编号,则用男人的属相编号加上12在减去女人的属相编号;若两人属相相同,则输出12.

错误原因:无错误,一次过。

经验总结:

1: 用strcmp判断两个字符串,若相同时返回0. 此时如果要用if语句进行判断,加上非符号!,即可。

我的AC代码:

#include
#include
char s[13][12] = {
"0","rat","ox","tiger","rabbit","dragon","snake","horse","sheep","monkey","rooster","dog","pig"};int main(void){ char s1[12], s2[12]; int i, n, m, T; scanf("%d", &T); while(T--) { scanf("%s%s", &s1, &s2); for(i = 1; i <= 12; i ++) { if(!strcmp(s1, s[i])) { n = i; } if(!strcmp(s2, s[i])) { m = i; } } if(n ==m) { printf("12\n"); } else if (n < m) { printf("%d\n", m - n); } else { printf("%d\n", m + 12 -n); } } return 0; }

转载于:https://www.cnblogs.com/moon13579/p/7662911.html

你可能感兴趣的文章
阿里云新用户:巧用余额预警防止自动扣费
查看>>
Spring+MyBatis实现读写分离
查看>>
spring自己对AOP的运用 -- spring事物(transaction)原理
查看>>
git 常用命令
查看>>
关于java 1.8的Lambda表达式详解
查看>>
缅怀那些正渐行渐远的编程语言
查看>>
各个网站的CSS清除代码
查看>>
TableView的集合
查看>>
3年工作经验的Java程序员面试经
查看>>
Hadoop实战(4)_Hadoop的集群管理和资源分配
查看>>
node中如何使用session,打通session、cookie任督二脉(express框架之session实战)
查看>>
css 样式优先级计算
查看>>
英国公司利用人工智能酿啤酒 升华酿酒技巧
查看>>
区块链软件公司:区块链下新日子的遥想
查看>>
代理模式——结合SpringAOP讲解
查看>>
java版spring cloud+spring boot+redis多租户社交电子商务平(三)SpringBoot用JdbcTemplates访问Mysql...
查看>>
我怎样用Node.js自动完成工作的
查看>>
软RAID管理命令mdadm详解
查看>>
Bootstrap学习
查看>>
控制器 控制器view cell的关系
查看>>