最近,我又回到了C语言,并决定从HackerRank开始会很好. 有这样一个问题:https://www.hackerrank.com/challenges/for-loop-in-c.
我试过这个:
int main()
{
int a, b;
scanf("%d\n%d", &a, &b);
char rep[9][5] = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i = a; i <= b; i++)
{
if(i <= 9 && i >= 1)
{
printf("%s\n", rep[i - 1]);
}
else
{
printf((i % 2 == 0) ? "even\n" : "odd\n");
}
}
return 0;
}
并得到了以下输出:
eightnine
nine
even
odd
我知道这样做的首选方法是使用const char*数组,但这不也应该起作用吗?为什么要多打印一个"九"字呢?