Проблема со scanf'ами

Условие: Даны N треугольников и координаты их точек. Найти, сколько из них имеют большую сторону AB.

#include "stdafx.h"
#include <iostream>
#include <math.h>
int main(int argc, _TCHAR* argv[])
{
	double ax, ay, bx, by, cx, cy; //координаты
	double ab, ac, bc; //стороны треугольников
	long int i, N, k; 
	printf("Vvedite kolichestvo treugolnikov:");
	scanf_s("%ld", &N);
	k = 0;
	for (i=1; i<=5; i++) {
		printf("\n Treugolnik #%ld", i);
		printf_s("\n Vvedite koordinaty tochki A");
		scanf_s("%lf%lf\n", &ax, &ay); 
		printf("\n Vvedite koordinaty tochki B");
		scanf_s("%lf%lf\n", &bx, &by);
		printf("\n Vvedite koordinaty tochki C");
		scanf_s("%lf%lf\n", &cx, &cy);
		ab = sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
		ac = sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
		bc = sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy));
		if (ab>bc && ab>ac) {
			k++;
		}
	}

	printf("%l\n", k);
}

И тут возникает баг. При вводе первой строки для первого треугольника (координаты точки A), когда я нажимаю Enter, программа запрашивает ещё одну переменную (то есть, вводить нужно три вместо двух). После их ввода компилятор переходит к следующей точке, начиная с которой всё идет правильно. В окончательном результате, насколько я помню (в дебаге) введённые переменные точек последнего треугольника и вовсе на одну вперёд/назад были относительно моего ввода.
Не знаете, почему такое возникает, и связано ли это с функциями printf в начале?

Похоже это из-за \n в scanf.

Не особо в курсе что он делает (надо копаться в документации), но вряд ли он нужен.

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main()
{
	double ax, ay, bx, by, cx, cy; //координаты
	double ab, ac, bc; //стороны треугольников
	int i, n, k; 
	printf("Vvedite kolichestvo treugolnikov: ");
	scanf("%d", &n);
	k = 0;
	for (i=1; i<=n; i++) {
		printf("\nTreugolnik #%d", i);
		printf("\nVvedite koordinaty tochki A: ");
		scanf("%lf %lf", &ax, &ay); 
		printf("Vvedite koordinaty tochki B: ");
		scanf("%lf %lf", &bx, &by);
		printf("Vvedite koordinaty tochki C: ");
		scanf("%lf %lf", &cx, &cy);
		printf("[%lf, %lf], [%lf, %lf], [%lf, %lf]\n", ax, ay, bx, by, cx, cy);
		ab = sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
		ac = sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
		bc = sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy));
		if (ab>bc && ab>ac) {
			k++;
		}
	}

	printf("\n%d\n", k);
}
Vvedite kolichestvo treugolnikov: 2

Treugolnik #1
Vvedite koordinaty tochki A: 1 2
Vvedite koordinaty tochki B: 3 4
Vvedite koordinaty tochki C: 5 6
[1.000000, 2.000000], [3.000000, 4.000000], [5.000000, 6.000000]

Treugolnik #2
Vvedite koordinaty tochki A: 7 8
Vvedite koordinaty tochki B: 9 10
Vvedite koordinaty tochki C: -11 12.5
[7.000000, 8.000000], [9.000000, 10.000000], [-11.000000, 12.500000]

0

https://onlinegdb.com/dL8OC-CRy

В scanf
“n\” не нужен. При сканировании ввода перевод строки излишен.

P. S.
C and C++ для настоящих программистов, и ошибок не прощает ))