Enunciado

Escreva uma instrução ou um conjunto de instruções para realizar cada uma das seguintes tarefas:

b) Imprima o valor 333,546372 em uma largura de campo de 15 caracteres com precisões de 1 , 2 , 3 , 4 e 5 . Alinhe a saída à esquerda. Quais são os cinco valores impressos?

Passo 1

Esse exercício é mais simples do que parece! Lembra do printf? Ele é tudo o que precisamos para resolver esse exercício! Vamos relembrar a estrutura dessa função

printf("argumento 1", "argumento 2");

O argumento 1 é opcional mas é a chave para esse exercício. Com ele podemos determinar a precisão e o tipo da nossa saída. Como podemos ver, a saída é de tipo float, pois é um número com vírgula, e precisa de ser no mínimo de 16 bits para que consigamos imprimir números maiores que 256.

Nosso comando, considerando isso que falamos ficaria assim:

printf("%15f", 333.546372);

Passo 2

Ainda não acabamos! Precisamos imprimir com a precisão que o exercício nos informa. Pra isso usamos o ponto depois do "15", assim escolhemos nossa precisão. Como temos os valores 1,2,3,4,5 vamos escrever logo para esses 5 casos:

printf("%15f.1", 333.546372); printf("%15f.2", 333.546372); printf("%15f.3", 333.546372); printf("%15f.4", 333.546372); printf("%15f.5", 333.546372);

Passo 3

E finalmente (pela estética) o exercício nos pede para alinhar a saída à esquerda. Para isso basta inserir um "-" depois do "%":

printf("%-15f.1", 333.546372); printf("%-15f.2", 333.546372); printf("%-15f.3", 333.546372); printf("%-15f.4", 333.546372); printf("%-15f.5", 333.546372);

E os 5 valores impressos são, de acordo com a precisão:

- 333.5

- 333.54

- 333.546

- 333.5463

- 333.54637

Resposta

printf("%-15f.1", 333.546372); printf("%-15f.2", 333.546372); printf("%-15f.3", 333.546372); printf("%-15f.4", 333.546372); printf("%-15f.5", 333.546372);

- 333.5

- 333.54

- 333.546

- 333.5463

- 333.54637