Когда вы читаете части комплексного числа:
scanf("%d ", &s1[i].real);
scanf("%d ", &s1[i].img);
Спецификатор формата %d
ожидает последовательность цифр. Проблема в том, что после того, как он использует любое количество пробельных символов, остается место. После ввода цифры и нажатия клавиши ВВОД scanf
не вернется, пока не будет введен какой-либо непробельный символ, т. Е. Следующий номер, который вы намереваетесь набрать.
Избавиться от конечного пробела в строке формата:
scanf("%d", &s1[i].real);
scanf("%d", &s1[i].img);