Условие: Даны 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 в начале?