Need help creating two questions on one lcd screen

I am trying to create a user interface for my project. Through the use of an lcd and keypad, the user simply answers two questions with values. After creating a four digit number for the first question, the cursor moves down below the second question. My problem is there are weird characters appearing in the location where I would input the next values. I feel like I am missing something small in my problem that would fix this issue. Maybe the values I entered from the keypad are being carried over? Been looking at the code for hours without any results. Any help would be great.

#include <Wire.h>  
#define RELAY1  6 
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 

int customkey;
char length[5]={0,0,0,0,0};
char quantity[3]={0,0,0};
byte position = 0;
byte cursro = 0;
const byte ROWS = 4; 
const byte COLS = 3; 
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {7,8,9,10};
byte colPins[COLS] = {11,12,13};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);



void setup()   
{
   pinMode(RELAY1, OUTPUT);  //Intialize Pin as output for Relay
  
  Serial.begin(9600);  

  lcd.begin(20,4// initialize the lcd 

// ------- Notify user that system is turning on  -------------
  for(int i = 0; i< 3; i++)
  {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
  lcd.backlight();

 lcd.setCursor(0,0);
 lcd.print("Input length:");
 lcd.setCursor(4,1);
 lcd.print("inches");
 lcd.setCursor(0,2);
 lcd.print("Input Quantity:");

}


void loop(){
    char key = keypad.getKey();  
      
      if(key && position != 4){
      length[position] = key;
      lcd.setCursor(position,1);
      lcd.print(key);
      position++;
      delay(200);
    }
      


    if(position == 4){
      quantity[cursro] = key;
      lcd.setCursor(cursro,1);
      lcd.print(key);
      cursro++;
    }
}

Please edit your post to add code tags.

To print a '4' on the LCD screen, you need to output the ASCII value of the character '4', not the number 4. Hapilly, the ASCII values of the characters '0' to '9' are consecutive:

      lcd.setCursor(position,1);
      lcd.print('0' + key);

Now, if this prints out some 2-digit number instead of '4', then we have aproblem with print() treatng the number as though it were an int. To fix:

      lcd.setCursor(position,1);
      lcd.print( (char) ('0' + key));

But hopefully, this isn't necessary.