Не могу ввести координаты точек, где ошибка и как её исправить?

Не могу ввести координаты точек ,где ошибка и как её исправить?
#include
#include
#include
#include

int main()
{
setlocale (LC_ALL,"RUSSIAN");

double x1,y1,z1; //начало отрезка//
double x2,y2,z2; //конец отрезка//
double x3,y3,z3; //центр отрезка//

printf("Ввод x1n"); //ввод координат начала отрезка//
scanf("%d",&x1);

printf("Ввод y1n");
scanf("%d",&y1);

printf("Ввод z1n");
scanf("%d",&z1);

printf("Ввод x2n"); //ввод координат конца отрезка//
scanf("%d",&x2);

printf("Ввод y2n");
scanf("%d",&y2);

printf("Ввод z2n");
scanf("%d",&z2);

x3 = (x1+x2)/2;
y3 = (y1+y2)/2;
z3 = (z1+z2)/2;

printf("x3 = %dn", x3); //вывод координат центра отрезка //
printf("y3 = %dn", y3);
printf("z3 = %dn", z3);

system("pause");
}

  • #include
    #include
    #include
    #include

    int main()
    {
    setlocale (LC_ALL,"RUSSIAN");

    float x1,y1,z1;
    float x2,y2,z2;
    float x3,y3,z3;

    printf("Vvod x1n");
    scanf("%f",&x1);

    printf("Vvod y1n");
    scanf("%f",&y1);

    printf("Vvod z1n");
    scanf("%f",&z1);

    printf("Vvod x2n");
    scanf("%f",&x2);

    printf("Vvod y2n");
    scanf("%f",&y2);

    printf("Vvod z2n");
    scanf("%f",&z2);

    x3 = (x1+x2)/2;
    y3 = (y1+y2)/2;
    z3 = (z1+z2)/2;

    printf("x3 = %fn", x3);
    printf("y3 = %fn", y3);
    printf("z3 = %fn", z3);

    system("pause");
    }

  • Указан целый формат ввода для типа с плавающей точкой.