Conditional Statements in C

  • + 0 comments
    #include <assert.h>
    #include <limits.h>
    #include <math.h>
    #include <stdbool.h>
    #include <stddef.h>
    #include <stdint.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char* readline();
    
    int main()
    {
        char* n_endptr;
        char* n_str = readline();
        int n = strtol(n_str, &n_endptr, 10);
    
        if (n_endptr == n_str || *n_endptr != '\0') { exit(EXIT_FAILURE); }
    
        // Write Your Code Here
        if(n>=1 && n<=9)
        {   if(n==1)
            printf("one");
            if(n==2)
            printf("two");
            if(n==3)
            printf("three");
            if(n==4)
            printf("four");
            if(n==5)
            printf("five");
            if(n==6)
            printf("six");
            if(n==7)
            printf("seven");
            if(n==8)
            printf("eight");
            if(n==9)
            printf("nine");
        }
        else
            printf("Greater than 9");
    
        return 0;
    }
    
    char* readline() {
        size_t alloc_length = 1024;
        size_t data_length = 0;
        char* data = malloc(alloc_length);
    
        while (true) {
            char* cursor = data + data_length;
            char* line = fgets(cursor, alloc_length - data_length, stdin);
    
            if (!line) { break; }
    
            data_length += strlen(cursor);
    
            if (data_length < alloc_length - 1 || data[data_length - 1] == '\n') { break; }
    
            size_t new_length = alloc_length << 1;
            data = realloc(data, new_length);
    
            if (!data) { break; }
    
            alloc_length = new_length;
        }
    
        if (data[data_length - 1] == '\n') {
            data[data_length - 1] = '\0';
        }
    
        data = realloc(data, data_length);
    
        return data;
    }