报数
Time Limit:1000MS Memory Limit:65535K
题型: 编程题 语言: 不限定
描述:
给定两个正整数a和b,用英语从a到b计数。根据a和b的大小关系,可能是正着数,也可能是倒着数。
输入格式:
第一行包含t(1<=t<=10),即随后的测试用例数。每行包含两个小写英文的a和b(0<=a,b<=10)。
输出格式:
对于每个测试用例,从a到b进行计数。每两个连续单词通过单个半角空格间隔。每个英语单词必须小写。
输入样例:
3
zero nine
nine five
ten ten
输出样例:
zero one two three four five six seven eight nine
nine eight seven six five
ten
#include <stdio.h>
#include <string.h>char numbers[][10]={"zero","one","two","three","four","five","six","seven","eight","nine","ten"};
int f(char *word)
{int i;for (i=0;i<=10;i++){if (strcmp(word,numbers[i])==0){return i;}}
}void print(int st,int ed)
{int i;if (st<=ed){for (i=st;i<=ed;i++){printf("%s ",numbers[i]);}}else{for (i=st;i>=ed;i--){printf("%s ",numbers[i]);}}printf("\n");
}int main()
{int t,i;scanf("%d",&t);char input[t*2][10];for (i=0;i<t*2;i++){scanf("%s",input[i]);}for (i=0;i<t*2;i+=2){int st=f(input[i]);int ed=f(input[i+1]);print(st,ed);}return 0;
}