Conditional Statements

Problem Statement

if and else are two of the most heavily used conditionals in C/C++. They are used to execute zero or one statement among many statements.

They are be used in the following three ways.

  1. if: It is used to execute a statement, given the condition is true.
    if(condition) {
        ...
    }
    
  2. if – else: It is used to execute exactly one of the two statements.
    if(first condition) {
        ...
    }
    else {
        ...
    }
    
  3. if – else if – else: It is used to execute one of the multiple statements.
    if(first condition) {
        ...
    }
    else if(second condition) {
        ...
    }
    .
    .
    .
    else if((n-1)'th condition) {
    
    }
    else {
        ...
    }
    

You are given a positive integer, n,:

  • If 1n9, then print the English representation of it. That is “one” for 1, “two” for 2, and so on.
  • Otherwise print “Greater than 9” (without quotes).

Input Format

Input will contain only one integer, n.

Output Format

Print the output as described above.

Sample Input

5

Sample Output

five

Sample Input #01

8

Sample Output #01

eight

Sample Input #02

44

Sample Output #02

Greater than 9

Solution


#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int n;
cin>>n;
if(n>9)
cout<<"Greater than 9"<<endl;
else if(n==9)
cout<<"nine"<<endl;
else if(n==1)
cout<<"one"<<endl;
else if(n==2)
cout<<"two"<<endl;
else if(n==3)
cout<<"three"<<endl;
else if(n==4)
cout<<"four"<<endl;
else if(n==5)
cout<<"five"<<endl;
else if(n==6)
cout<<"six"<<endl;
else if(n==7)
cout<<"seven"<<endl;
else
cout<<"eight"<<endl;

return 0;
}

 

Pointer

Problem Statement

A pointer in C is a way to share a memory address among different contexts (primarily functions). They are primarily used whenever a function needs to modify the content of a variable, of which it doesn’t have ownership.

In order to access the memory address of a variable, val, we need to prepend it with & sign. E.g., &val returns the memory address of val.

This memory address is assigned to a pointer and can be shared among various functions. E.g. intp=&val will assign the memory address of val to pointer p. To access the content of the memory to which the pointer points, prepend it with a . For example, p will return the value reflected by val and any modification to it will be reflected at the source (val).

void increment(int *v) {
    (*v)++;
}

int main() {
    int a;
    scanf("%d", &a);
    increment(&a);
    printf("%d", a);
    return 0;
}  

You have to complete the function void update(int *a,int *b), which reads two integers as argument, and sets a with the sum of them, and b with the absolute difference of them.

  • a=a+b
  • b=|ab|

Input Format

Input will contain two integers, a and b, separated by a newline.

Output Format

You have to print the updated value of a and b, on two different lines.
P.S.: Input/ouput will be automatically handled. You only have to complete the void update(int *a,int *b) function.

Sample Input

4
5

Sample Output

9
1

Explanation

  • a=4+5=9
  • b=|45|=1

Solution

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

void update(int *a,int *b) {
    // Complete this function 
    *a = *a+*b;
    *b = abs(*a-*b-*b);
}

int main() {
    int a, b;
    int *pa = &a, *pb = &b;
    
    scanf("%d %d", &a, &b);
    update(pa, pb);
    printf("%d\n%d", a, b);

    return 0;
}