After giving a letter as input, my for loop skips the second user input and defaults it to 10. The user doesn't get a chance to type anything on the second iteration. As a result, the output is always x * 10 which is not ideal. How can I fix this?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void transport();
int main(void){
    transport();
    return 0;
}
void transport(){
    printf("Answer the following questions by typing a valid input!\n");
    char questions[2][500] = {"What kind of transportation do you use regularly?\nOptions:\n" 
    "e - electric car\n"
    "g - gas car\n"
    "m - motorcycle\n"
    "t - train\n"
    "b - bus\n"
    "w - walking or bike\n", 
    "How many hours a day do you travel by this transportation?\n"};
    int answers[2];
    char input;
    for(int i = 0; i < sizeof(questions) / sizeof(questions[0]); i++){
        printf("%s", questions[i]);
        scanf("%c", &input);
        switch(input)
        {
        case 'e':
            answers[i] = 1;
            break;
        case 'g':
            answers[i] = 2;
            break;
        case 'm':
            answers[i] = 3;
            break;
        case 't':
            answers[i] = 4;
            break;
        case 'b':
            answers[i] = 5;
            break;
        case 'w':
            answers[i] = 0;
            break;
        default:
            answers[i] = input;
            break;
        }
    }
    int ton = answers[0];
    int hour = answers[1];
    int ton_per_day = ton * hour;
    int ton_per_week = ton * hour * 7;
    int ton_per_year = ton * hour * 7 * 52;
    printf("Your CO2 emissions for your chosen transportation is %d ton per day, %d ton per week and %d ton per year!\n", ton_per_day, ton_per_week, ton_per_year);
    for(int n = 0; n < 2; n++){
        printf("%d\n", answers[n]);
    }
}
I'm open to all suggestions :)
