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