By some suggestions here I copied the function to read from the stdin in C and adapted your example. This is a safe way to handle stdin from a C application.
Also I tried your code and I believe that what was wrong is that some newline gets "trapped" in the stdin, hence the second scanf returns before you can write anything. That's why this solution.
#include <stdio.h>
#include <string.h>
#define OK       0
#define NO_INPUT 1
#define TOO_LONG 2
static int getLine (char *prmpt, char *buff, size_t sz) {
    int ch, extra;
    // Get line with buffer overrun protection.
    if (prmpt != NULL) {
        printf ("%s", prmpt);
        fflush (stdout);
    }
    if (fgets (buff, sz, stdin) == NULL)
        return NO_INPUT;
    // If it was too long, there'll be no newline. In that case, we flush
    // to end of line so that excess doesn't affect the next call.
    if (buff[strlen(buff)-1] != '\n') {
        extra = 0;
        while (((ch = getchar()) != '\n') && (ch != EOF))
            extra = 1;
        return (extra == 1) ? TOO_LONG : OK;
    }
    // Otherwise remove newline and give string back to caller.
    buff[strlen(buff)-1] = '\0';
    return OK;
}
int main ()
{
    int a,b,c,d,abcd;
    int e,f,g,h,efgh;
    
    int rc;
    char buff[20];
    
    rc = getLine ("1. ", buff, sizeof(buff));
    if (rc == NO_INPUT) {
        // Extra NL since my system doesn't output that on EOF.
        printf ("\nNo input\n");
        return 1;
    }
    if (rc == TOO_LONG) {
        printf ("Input too long [%s]\n", buff);
        return 1;
    }
    
    sscanf(buff, "(%d+%d)x(%d-%d)",&a,&b,&c,&d);
    
    rc = getLine ("2. ", buff, sizeof(buff));
    if (rc == NO_INPUT) {
        // Extra NL since my system doesn't output that on EOF.
        printf ("\nNo input\n");
        return 1;
    }
    if (rc == TOO_LONG) {
        printf ("Input too long [%s]\n", buff);
        return 1;
    }
    
    sscanf(buff, "(%d+%d)x(%d-%d)",&e,&f,&g,&h);
    
    printf("Check \n");
    printf("%d %d %d %d\n" ,a,b,c,d);
    printf("%d %d %d %d\n" ,e,f,g,h);
    
    abcd=(a+b)*(c-d);
    efgh=(e+f)*(g-h);
    
    printf("Results: %d %d \n",abcd,efgh);
    return 0;
}