Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
A cada número n lido, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#" - Exercícios Resolvidos de CQuantidade de visualizações: 650 vezes |
Pergunta/Tarefa: Escreva um programa C que solicita ao usuário 10 números inteiros positivos maiores que 0. Use um vetor de inteiros para guardar estes números. Percorra o vetor e, para cada número, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#". Seu código deverá, obrigatoriamente, usar o laço for (talvez laços aninhados). Sua saída deverá ser parecida com: Informe o 1.o: 7 Informe o 2.o: 2 Informe o 3.o: 5 Informe o 4.o: 13 Informe o 5.o: 3 Informe o 6.o: 8 Informe o 7.o: 7 Informe o 8.o: 1 Informe o 9.o: 10 Informe o 10.o: 6 ####### ## ##### ############# ### ######## ####### # ########## ###### Veja a resolução comentada deste exercício usando C: #include <stdio.h> #include <stdlib.h> #include <locale.h> #define TAM_VETOR 10 int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int valores[TAM_VETOR]; int i, j, n; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar 10 números inteiros e // vamos guardá-los no vetor for(i = 0; i < TAM_VETOR; i++){ printf("Informe o %d.o: ", (i + 1)); scanf("%d", &valores[i]); } // agora vamos exibir o histograma de cada número printf("\n"); for(i = 0; i < TAM_VETOR; i++){ n = valores[i]; if(n > 0){ for(j = 0; j < n; j++){ printf("#"); } printf("\n"); } } printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |