How to scanf multiple inputs separated by space in C?
The "%d" and "%f" will happily handle numeric text separated by spaces, tabs, end-of-lines, etc., yet not distinguish  between spaces and end-of-line.  With insufficient input in one line, code will read the input of the next line.  With excess input, the entire line is not read - rest of line reamins for next input function.
If OP is concerned about lines of inputs, best to read a line of input and then parse.
I don't know if it is good and what to do if you input less or more numbers in input.
Put yourself in charge: if you directed a team of coders, what would you want? Consume and ignore non-numeric input, consume input and report an error,  simple end the code, etc.  
Aside from the first scan, code looks reasonable as is.  
For me, for robust code, I would drop all scanf() and use fgets() in a helper function to parse.  Then sscanf() or strto*() to parse and complain if not as expected.
Sample
Of course this helper function is overkill for such a simple task, yet it is a helper function - one that I can use over and over for anytime I want to read a a group of float from one line.  I can improve as desired  (e.g. more error handle, handle overly long lines, ...)
// Read 1 line of input.
// return EOF on end-of-file or stream error,
// else return number of float read, even if more than N.    
int get_floats(const char *prompt, float *dest, int N) {
  if (prompt) {
    fputs(prompt, stdout);
    fflush(stdout);
  }
  char buf[BUFSIZ];
  if (fgets(buf, sizeof buf, stdin) == NULL) {
    return EOF;
  }
  char *endptr = buf;
  int floats_read = 0;
  // parse the line into floats     
  while (*endptr) {
    const char *s = endptr;
    float f = strtof(s, &endptr);
    if (s == endptr) {
      break;  // no conversion
    }
    if (floats_read < N) {
      dest[floats_read] = f;
    }
    floats_read++;
  }
  // Consume trailing white-space
  while ((unsigned char) *endptr) {
    endptr++;
  }
  if (*endptr) {
    return -1;  // Non-numeric junk at the end
  }
  return floats_read;
}
Usage:
int n;
if(get_floats("Enter variables: ", tab, n) != n) {
  printf("Invalid input");
  return 1;
}