---
# System prepended metadata

title: Lab Practices

---

{%hackmd @themes/orangeheart %}

# Lab Practices

## Reversing Strings

Write a C program to print the following characters in a reverse way. 

est Characters: 'X', 'M', 'L'
Expected Output:

```
The reverse of XML is LMX
```

### Code

**Brute Force Way**

```C
#include <stdio.h>

int main() {
    char a,b,c;
    printf("Type your characters:\n");
    scanf("%c%c%c",&a,&b,&c);
    printf("The reverse of %c%c%c is %c%c%c",a,b,c,c,b,a);
}
```

**Using `<string.h>` and arrays**

```c
#include <stdio.h>
#include <string.h>

int main() {
    char a[3];
    printf("Type your string here!\n");
    scanf("%s",&a);
    printf("The reverse of %s",a);
    printf(" is %s",strrev(a));
    return 0;
}
```

## Perimeter and Radius

Write a C program to take a number from the input as the radius and compute the perimeter
and area of a circle using the input.

```
Perimeter = 2 * 3.14 * radius
Area= 3.14 * radius * radius
Expected Output:
Perimeter of the Circle = xxx.xx inches
Area of the Circle = xxx.xx square inches.
```

### Code

```C
#include <stdio.h>
#define pi 3.14

int main() {
    float radius, perimeter, area;
    printf("Radius?\n");
    scanf("%f", &radius);
    perimeter = 2*radius*pi;
    area = pi*radius*radius;
    printf("The perimeter of the circle is %.2f inches\n",perimeter);
    printf("the area of the circle is %.2f square inches\n",area);
}
```

## Precedences



### Code

```c
#include <stdio.h>

int main() {
    int a = 125, b = 12345;
    long ax = 1234567890;
    short s = 4043;
    float x = 2.13459;
    double dx = 1.1415927;
    char c = 'W';
    unsigned long ux = 2541567890;
    printf("a = %d\nb = %d\nax = %ld\ns = %hu\nx = %f\ndx = %lf\nc = %c\nux = %lu\n",a,b,ax,s,x,dx,c,ux);
    printf("a+c = %d\nx+c = %f\n",a+c,x+c);
    printf("%lf\n",dx+x);
    printf("%ld",((int) dx + ax));
    printf("%f\n",a+x);
    printf("%d\n",s+b);
    printf("%ld\n",ax+b);
    printf("%hu\n",s+c);
    printf("%ld\n",ax+c);
    printf("%lu\n",ax+ux);
}
```

## Time Formatter (Days)

```c
#include <stdio.h>

int main() {
    int days, day, week, year;
    printf("How many days?\n");
    scanf("%d",&days);
    year = days/365;
    week = (days%365)/7;
    day = (days%365)%7;
    printf("%d years %d weeks %d days",year,week,day);
}

```

## Find the Greatest Value

```C
#include <stdio.h>

int main() {
    int a,b,c;
    printf("type a b and c\n");
    scanf("%d\n%d\n",&a,&b,&c);
    if (a > b && a > c)
        printf("a is the greatest\n");
    else if (b > a && b > c)
        printf("c is the greatest\n");
    else
        printf("b is the greatest\n");
    return 0;
}
```

## Time Formatter (Seconds)

```C
#include <stdio.h>

int main() {
    int seconds, second, minute, hour;
    printf("How many seconds?\n");
    scanf("%d",&seconds);
    hour = seconds/3600;
    minute = (seconds%3600)/60;
    second = (seconds%3600)%60;
    printf("%d hours %d minutes %d seconds",hour,minute,second);
}
```

Simplified:

```C
#include <stdio.h>

int main() {
    int seconds;
    printf("How many seconds?\n");
    scanf("%d",&seconds);
    printf("%d hours %d minutes %d seconds",seconds/3600,(seconds%3600)/60,(seconds%3600)%60);
}
```

## Nesting Conditionals

```C
#include <stdio.h>

int main() {
    int p,q,r,s;
    printf("p,q,r,s\n");
    scanf("%d%d%d%d",&p,&q,&r,&s);
    if (r < 0 || s < 0 || p%2 != 0){
        printf("Wrong Values \n");
    }
    if (q > r && s > p){
        if (r+s > p+q){
            printf("Correct Values\n");
        }
        else{
            printf("Wrong Values\n");
        }
    }
    else{
        printf("Wrong Values\n");
    }
}
```

## Range of 80

```C
#include <stdio.h>

int main() {
    int n;
    scanf("%d",&n);
    if (n>0 && n<80){
        printf("In the range of 80");
    }
    else{
        printf("Not in the range of 80");
    }
}
```

## Sum of Odds

```C
#include <stdio.h>

int main() {
    int a,b,c,d,e,sum = 0;
    scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
    if (a%2 != 0)
        sum += a;
    if (b%2 != 0)
        sum += b;
    if (c%2 != 0)
        sum += c;
    if (d%2 != 0)
        sum += d;
    if (e%2 != 0)
        sum += e;
    printf("sum is %d",sum);
}
```

## Closer to 100

```c
#include <stdio.h>

int main() {
    int a,b;
    scanf("%d%d",&a,&b);
    if (a > 0 && b > 0){
        if (a > 100 & b > 100){
            a -= 100;
            b -= 100;
            if (a > b){
                printf("b is closer!\n");
            }
            else{
                printf("a is closer!\n");
            }
        }
        else{
            a = 100 - a;
            b = 100 - b;
            if (a > b){
                printf("b is closer!\n");
            }
            else{
                printf("a is closer!\n");
            }
        }
    }
}
```