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