Soluções das questões sobre o laço FOR em C


Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!

No artigo passado de nossa apostila online C Progressivo, propomos uma série de questões (que já haviam sido propostas no artigo sobre o laço WHILE) para serem resolvidas usando o laço FOR.

O raciocínio e lógica para resolverem essas questões usando o laço FOR é exatamente o mesmo desenvolvido para resolver usando o laço WHILE.

Portanto, apresentaremos somente o código.
Se quiser ver a solução comentada, veja o tutorial sobre a solução das questões envolvendo o laço WHILE.

Apostila C Progressivo - Exercícios resolvidos sobre o laço FOR

0. Programa em C dos patinhos da Xuxa
Código C:
#include <stdio.h>

int main()
{
        int duck,
            count;

        printf("Quantos patinhos a mamae Pata tem? ");
        scanf("%d", &duck);

        for(count=duck ; count!=1; count--)
        {
            printf("%d patinhos foram passear\n", count);
            printf("Além das montanhas\n");
            printf("Para brincar\n");
            printf("A mamãe gritou: Quá, quá, quá, quá\n");
            printf("Mas só %d patinhos voltaram de lá.\n\n", count-1);
        }

        printf("1 patinho foi passear\n");
        printf("Além das montanhas\n");
        printf("Para brincar\n");
        printf("A mamãe gritou: Quá, quá, quá, quá\n");
        printf("Mas nenhum patinho voltou de lá.\n\n");

        printf("A mamãe patinha foi procurar\n");
        printf("Além das montanhas\n");
        printf("Na beira do mar\n");
        printf("A mamãe gritou: Quá, quá, quá, quá\n");
        printf("E os %d patinhos voltaram de lá.\n", duck);
}

1. Programa em C que mostra os números ímpares
Código C:
#include <stdio.h>

int main()
{
        int count;

        for(count=1 ; count<= 100 ; count++)
        {
            if(count%2 == 1)
                printf("%d ",count);

            count++;
        }
}

2. Programa em C que mostra os números pares

3. Escreva um aplicativo em C que recebe inteiro e mostra os números pares e ímpares (separados, em duas colunas), de 1 até esse inteiro.
Código C:
#include <stdio.h>

int main()
{
        int num,
            count;

        printf("Digite um numero: ");
        scanf("%d", &num);

        printf("IMPARES \tPARES\n");

        for(count=1 ; count<=num ; count++)
        {
            if(count%2 == 1)
                printf("    %d \t",count);
            else
                printf("    \t %d\n", count);
        }
}

4. Escreva um programa que pergunte ao usuário quantos alunos tem na sala dele.
Em seguida, através de um laço while, pede ao usuário para que entre com as notas de todos os alunos da sala, um por vez.
Por fim, o programa deve mostrar a média, aritmética, da turma.
Código C:
#include <stdio.h>

int main()
{
        int total,
            count;
        float nota,
              soma=0.0;

        printf("Numero de alunos na sala: ");
        scanf("%d",&total);

        for(count=1, soma ; count<=total ; count++)
        {
            printf("Nota do aluno %d: ",count);
            scanf("%f",&nota);

            soma = soma + nota;
        }

        printf("Media da turma: %.2f", soma/total);
}





5. Achar o maior, menor, média e organizar números ou seqüências são os algoritmos mais importantes e estudados em Computação. Em C não poderia ser diferente.
Em nosso curso, obviamente, também não será diferente.

Escreva um programa em C que solicita 10 números ao usuário, através de um laço while, e ao final
mostre qual destes números é o maior.
Código C:
#include <stdio.h>

int main()
{
        int maior,
            num,
            count;

        for(count=1, maior=0; count<=10 ; count++)
        {
            printf("Digite o numero %d: ", count);
            scanf("%d", &num);

            if( num > maior)
                maior=num;
        }

        printf("Maior: %d", maior);
}

6. Escreva um programa em C que solicita 10 números ao usuário, através de um laço while, e ao final mostre os dois maiores números digitados pelo usuário.
Código C:
#include <stdio.h>

int main()
{
        int maior,
            segundo_maior,
            num,
            count;
  
 printf("Digite o numero 1: ");
        scanf("%d", &maior);
        
        printf("Digite o numero 2: ");
        scanf("%d", &segundo_maior);
        
 if(maior < segundo_maior)
 {
     count = maior;
     maior = segundo_maior;
     segundo_maior = count;
 }
  
        for(count=3; count<=10 ; count++)
        {
            printf("Digite o numero %d: ", count);
            scanf("%d", &num);

            if(num > maior)
            {
                segundo_maior = maior;
                maior = num;
            }
            else
  if(num > segundo_maior)
   segundo_maior = num;
        }

        printf("Maior: %d\n", maior);
        printf("Segundo maior: %d\n", segundo_maior);
}


7. Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.

Por exemplo, para lado igual a 5:
*****
*****
*****
*****
*****
Código C:
#include <stdio.h>

int main()
{
        int lado,
            count;

        printf("Lado do quadrado: ");
        scanf("%d", &lado);

        for(count=1 ; count<=lado*lado ; count++)
        {
            if(count % lado == 0)
                printf("*\n");
            else
                printf("*");
        }


}

8. Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*    *
*    *
*    *
*****
Código C:
#include <stdio.h>

int main()
{
        int lado,
            count;

        printf("Lado do quadrado: ");
        scanf("%d", &lado);

        //Imprimindo a primeira linha
        for(count=1 ; count<=lado; count++)
            printf("*");

        printf("\n");

        for(count=1 ; count<=lado*(lado-2) ; count++)
        {
            if( (count%lado == 1))
                printf("*");
            else
                if( (count%lado == 0))
                    printf("*\n");
                else
                    printf(" ");
        }

        //Imprimindo a primeira linha
        for(count=1 ; count<=lado; count++)
            printf("*");

        printf("\n");


}

9. Escreva um programa que pergunta um número ao usuário, e mostra sua tabuada completa (de 1 até 10).
Código C:
#include <stdio.h>

int main()
{
        int num,
            count;

        printf("Digite um numero: ");
        scanf("%d", &num);

        for(count=1 ; count<=10 ; count++)
            printf("%d * %d = %d\n", num, count, num*count);
}

10. Se você lembrar bem, quando estudamos as variáveis do tipo caractere, char, dissemos que, na verdade, ela eram representadas por inteiros de 0 até 255.
Mostre a tabela completa do código ASCII.
Código C:
#include <stdio.h>

int main()
{
        int count;

        for(count=0 ; count<=255 ; count++)
            printf("%d = %c\n", count, count);
}

Um comentário:

Willian Bertoldo Dalla Favera disse...

Aí vai a numero 6 um pouquinho diferente da solução do site ;)

#include
#include

main(){

int numero,maior_numero,quase_maior_numero,count;

for(count = 1;count <=10;count++){
printf("Digite um numero: ");
scanf("%d",&numero);
if(numero > maior_numero && maior_numero > quase_maior_numero){
quase_maior_numero = maior_numero;
}
if(numero >maior_numero){
maior_numero = numero;
}
if(maior_numero >numero && numero > quase_maior_numero){
quase_maior_numero = numero;
}
}

printf("O maior numero e: %d.\n",maior_numero);

printf("O segundo maior numero e: %d.",quase_maior_numero);

return 0;

}

Gostou desse tutorial de C?
Sabia que o acervo do portal C Progressivo é o mesmo, ou maior que, de um livro ou curso presencial?
E o melhor: totalmente gratuito.

Mas para nosso projeto se manter é preciso divulgação.
Para isso, basta curtir nossa página no Facebook e/ou clicar no botão +1 do Google.
Contamos e precisamos de seu apoio.