printf: jak wyrównać do prawej

0
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	float x,y,z;
	printf("podaj liczbe x\n ");
	scanf("\n%f", &x);
	printf("podaj liczbe y\n ");
	scanf("\n%f", &y);
	printf("podaj liczbe z\n");
	scanf("\n%f", &z);
	printf("\n%15f ",x);
	printf("\n%15f",y);
	printf("\n%15f",z);
	system("pause");
	
	return 0;
	
}

Mógłby mi ktoś powiedzieć jak zrobić wyrównanie do prawej? nie mogę sobie z tym poradzić , więc wrzuciłem %15f aby przesuwało o 15 znaków w prawo ale też nie działa :\ poprosiłbym o poprawienie programu razem z małym komentarzem , dzięki !

2

Tu masz to dobrze opisane:

http://www.cplusplus.com/reference/cstdio/printf/

f odpowiada za liczbę miejsc po przecinku w zmiennoprzecinkowej liczbie. A nie ile znaków zajmie wypisana liczba na ekranie.

f Decimal floating point, lowercase

3

%15f wyrównuje do prawej w 15-znakowym buforze. Jeśli chcesz wyrównać o 15 znaków w prawo to po prostu wypisz 15 spacji.

0

Zależy co chcesz zrobić. Mogą to być spacje "_", może to być liczba znaków do wyświetlenia "%15f", ale może być to też poziomy tabulator "\t" (trzeba by policzyć ile ma jeden i wypisać tyle żeby było blisko 15 znaków).

0

wszystko działa zgodnie z dokumentacją:
http://melpon.org/wandbox/permlink/Sr6T5jxBHccmjzq9
wszystko jest domyślnie wyrównane do prawej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1