You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.

## Hackerrank For Loop in C Solution

Beeze Aal

Objective

In this challenge, you will learn the usage of the for loop, which is a programming language statement which allows code to be repeatedly executed.

The syntax for this is

for ( <expression_1> ; <expression_2> ; <expression_3> )
<statement>

• expression_1 is used for intializing variables which are generally used for controlling the terminating flag for the loop.
• expression_2 is used to check for the terminating condition. If this evaluates to false, then the loop is terminated.
• expression_3 is generally used to update the flags/variables.

A sample loop will be

for(int i = 0; i < 10; i++) {
...
}


For each integer  in the interval  (given as input) :

• If , then print the English representation of it in lowercase. That is "one" for , "two" for , and so on.
• Else if  and it is an even number, then print "even".
• Else if  and it is an odd number, then print "odd".

Input Format.

The first line contains an integer, .
The seond line contains an integer, .

Constraints.

Output Format.

Print the appropriate english representation,even, or odd, based on the conditions described in the 'task' section.

Note:

Sample Input

8
11


Sample Output

eight
nine
even
odd


### Solution in c

Approach 1.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int a, b;
scanf("%d\n%d", &a, &b);
// Complete the code.

char labels[11][6] = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "even", "odd"};
int labels_index;
for (int i=a; i<=b; i++) {
labels_index = i <= 9 ? i - 1 : 9 + i % 2;
printf("%s\n", labels[labels_index]);
}

return 0;
}



Approach 2.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int a, b;
scanf("%d\n%d", &a, &b);

char *stri[] = {"one","two","three","four","five",
"six","seven","eight","nine"};
for(int i=a;i<=b;i++)
{
if (i < 1)
return 1;

if (i >= 1 && i <= 9)
printf("%s\n",stri[i-1]);
else if(i%2==0)
printf("even\n");
else
printf("odd\n");
}

return 0;

}



Approach 3.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

char *oddOrEven(int n) {
return (n % 2) ? "odd" : "even";
}

int main()
{
int a, b;
scanf("%d\n%d", &a, &b);

char *numbers[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};

for (int n = a; n <= b; n++) {
if (n < 10) {
printf("%s\n", numbers[n]);
}
else {
printf("%s\n", oddOrEven(n));
}
}
return 0;
}