Hackerrank For Loop in C Solution
2 min read

Hackerrank For Loop in C Solution

Hackerrank For Loop in C Solution

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++) {
    ...
}

Task

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


Enjoying these posts? Subscribe for more


Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add thepoorcoder.com to your ad blocking whitelist or disable your adblocking software.

×