报数
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;
}