Translate

Exercícios resolvidos - Linguagem C

Pessoal aqui ão alguns exercícios resolvidos da linguagem C/C++. Eles servirão de base para estudos caso alguém esteja interessado em aprender a linguagem ou está tendo esta matéria na faculdade.

1- Deseja-se um programa que leia a idade, o peso e a altura de 10 pessoas e como saída mostre:
a- A média das idades das pessoas;
b- A quantidade de pessoas com mais de 90 kg e são menores que 1,5 m;
c- O percentual de pessoas com idade entre 10 e 30 anos entre as que medem mais 1,9 m.

Resposta: 


#include<conio.h>
#include<stdio.h>
#include<stdlib.h>

main()
{
  float peso, altura, percentual, contaltura, contaltura2;
  int i, idade, media, contidade;
  
  media=0; contaltura=0; contaltura2=0; contidade=0;
  
  for(i=0; i<10; i++)
  {
   printf("\nDigite a idade da %d pessoa: ", i+1);
   scanf("%d", &idade);

   printf("\nDigite o peso da %d pessoa: ", i+1);
   scanf("%f", &peso);

   printf("\nDigite a altura da %d pessoa: ", i+1);
   scanf("%f", &altura);
   
  media=media+idade;

  if((peso>90) && (altura<1.5))
{
  contaltura=contaltura+1;
}

  if(altura>1.9)
{
 contaltura2=contaltura2+1;

 if((idade>10)&&(idade<30))
{
  contidade=contidade+1;
}
}

}
  system("cls");
  media=media/10;

  percentual=(contidade/contaltura2)*100;

  printf("\nA media das idades e: %d", media); 

  printf("\n\nPessoas com mais de 90 kg e sao inferior a 1.5m: %2.2f", contaltura);
  
  if(contidade==0)
  {
  printf("\n\nNao possui percentual de pessoas com idade entre 10 e 30 anos entre as que medem mais 1.9 m");  
  }
  else               
  printf("\n\nPercentual de pessoas com idade entre 10 e 30 anos entre as que medem mais 1.9 m: %2.2f", percentual); 

  getch();
}





2- Faça um programa que leia os valores de números inteiros e positivos e para sair do programa digite o número "0".
a- Apresentar o maior e o menor valor sem considerar o número "0"

Resposta:

#include<stdio.h>
#include<conio.h>

  main()
  {
        int maior, menor, x;
        
        printf("Digite um numero inteito e positivo: ");
        scanf("%d", &x);
        
        maior=x;
        menor=x;
        
          if(x<0){
            printf("Valor invalido!");
          }
          else
          if(x!=0){
            
            do
            {
              printf("\nDigite o proximo numero: ");
              scanf("%d", &x);
              
                if(x>maior)
                  maior=x;
                  
                else
                
                if((x<menor) && (x!=0) &&(x>0))
                menor=x;
            }
            while(x!=0);
            
            printf("\nO maior valor e: %d", maior);
            printf("\nO menor valor e: %d", menor);   
                     
            }
            
              printf("\nVoce encerrou o programa!");
              
            getch();
}            






3- Crie um vetor com números inteiros de 10 posições e em seguida multiplique cada número digitado pelo usuário por 15 e mostre como saída. 

Resposta:


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

  main()
  {
        int i, x[10];
        
        for(i=0; i<10; i++)
        {
                 printf("\nDigite o %d numero: ", i+1);
                 scanf("%d", &x[i]);
                 
        }
        
        system("cls");
        
        printf("Os numero multiplicados por 15 sao:\n");
        
        for(i=0; i<10; i++)
        {
                 x[i]=x[i]*15;  
                 printf("\n%d", x[i]);
                      
        }
        
            getch();






4- Crie dois vetores de números inteiros e positivos,  um com quatro posições e outro com 3. Em seguida coloque os valores inseridos pelo usuário nesses 2 vetores em outro vetor e dê os números digitados como saída e sua respectiva posição dentro do vetor.

Resposta:

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>

main()
{
  int i, j, x[4], y[3], z[7];
  
    for(i=0; i<4; i++)
    {
            printf("\nDigite um numero para a posicao %d do vetor x: ", i);
            scanf("%d", &x[i]);
    
            z[i]=x[i];   
    }
    
    j=4;
    
    for(i=0; i<3; i++)
    {
            printf("\nDigite um numero para a posicao %d do vetor y: ", i);
            scanf("%d", &y[i]);
    
            z[j]=y[i];
            
            j++;   
    }    
    
      system("cls");
    
    for(i=0;i<7;i++)
    {
            printf("\n\nO valor do vetor z na posicao %d e: %d", i, z[i]);
    }
              
  getch();
}





5- Preencha um vetor de quatro posições com números inteiros e os ordene em ordem crescente.

Resposta:

/*Programa em para preencher um vetor de 4 posições, e ordenar em ordem
crescente todos os elementos*/
#include <stdio.h>
#include <conio.h>
int num[4],i,j,x;/*vetor, contadores, variavel auxiliar p/ troca 
de elementos no vetor*/
int main ()
{
    for(i=0;i<4;i++)//coleta de dados
    {
        printf("Digite o valor %d: ",i+1);
        scanf("%d",&num[i]);
    }
    for(i=0;i<4;i++)/*Executa o for abaixo por 4 vezes para que ordene todo o vetor*/
    {
        for(j=0;j<3;j++)/*Troca a posição x pela posição x+1 até o 
x ser o penultimo elemento do vetor para trocar com o ultimo*/
        {
            if(num[j]>num[j+1])/*se a posição atual for maior
que a posição posterior*/ 
            {
                x=num[j+1];//auxiliar recebe posição posterior
                num[j+1]=num[j];//P.Posterior recebe P.Atual
                num[j]=x;//P.Atual 
            }
        }
    }
    for(i=0;i<4;i++)//imprime os elementos ordenados para o usuário
    printf("O Valor %d: %d\n",i+1,num[i]); 
    getch();  
}





6-  Escreva um programa para ler 2 notas de um aluno, calcular e imprimir a média final. Logo após escrever a mensagem "Calcular a média de outro aluno [S]im [N]ão?"e solicitar um resposta. Se a resposta for "S", o programa deve ser executado novamente, caso contrário deve ser encerrado imprimindo a quantidade de alunos aprovados.

Resposta:


#include<conio.h>
#include<stdio.h>

main(){
float n1, n2, media;
int cont=0, i=1;
char op;
do{
printf("\n\nDigite a primeira nota do %d aluno\n",i);
scanf("%f%*c", &n1);

printf("\n\nDigite a segunda nota do %d aluno\n",i);
scanf("%f%*c", &n2);
media = (n1+n2)/2;
printf("\n-----------------------------------------\n");
printf("\n\nA media final do %d aluno e: %2.2f", i, media);
   if(media>=5){
      printf("\n\nAluno aprovado!\n\n");
      cont = cont+1;
   }

else
      printf("\n\nAluno reprovado!\n\n");
       
    printf("\n-----------------------------------------\n");
  printf("\nCalcula a media de outro aluno? [S]im / [N]ao\n");
  scanf("%c%*c", &op);
  
  i=i+1;
    
}while(op=='s');

       printf("\nVoce saiu do programa com exito!\n\nA quantidade de alunos aprovados foram %d", cont);
       
       getch();
       return 0;

}





Funções

1) Faça um programa contendo uma função que receba três números inteiros como parâmetros, representando horas, minutos e segundos, e os converta em segundos. Exemplo: 2h, 40min e 10s correspondem a 9.610 segundos.

Resposta:



#include <stdio.h>
#include <conio.h>

void conversao(int hh, int mm, int ss)
{
    int converter;
    
    converter = (hh*60*60)+(mm*60)+(ss);
    
    printf("\n\nO valor convertido corresponde a: %d segundos", converter);
    
}

int main()
{
    int hh, mm, ss;
    
    
    printf("Conversao de hr/min para segundos\n\nDigite o horario para conversao: (hh:mm:ss) \n\n");
    
    printf("Hora(s): ");
    scanf("%d*c", &hh);
    
    printf("\nMinuto(s): ");
    scanf("%d*c", &mm);
    
    printf("\nSegundo(s): ");
    scanf("%d*c", &ss);
    
    conversao(hh, mm, ss);
    
    getch();
    return 0;
    
}   




2) Crie uma função que receba um valor inteiro e verifique se ele é positivo ou negativo.

Resposta:

#include <stdio.h>
#include <conio.h>

int verifica(int num);

int main()
{
      int num, retorno;
      
      printf("Digite um numero:\n");
      scanf("%d*c", &num);
      
      retorno = verifica(num);
      
      if(retorno==1)
      printf("\nO numero %d e positivo", num);
      
      else
      printf("\nO numero %d e negativo", num);
      
      getch();
      return 0;
}

int verifica(int num)
{
    if(num>=0)
    return 1;
    
    else
    if(num<0)
    return 0;

}   





3) Faça uma função para receber, como parâmetro, um valor N (inteiro e maior ou igual a 1). Determine o valor da sequência S, descrita a seguir:
S = 1 +1/2 + 1/3 ...
A quantidade de parcelas que compõe S é igual a N.

Resposta:

#include <stdio.h>
#include <conio.h>

void soma( float n )
{
  float i, soma = 0;
   
         for(i = 1; i <= n; i++)
              soma = soma + ( 1/i );

         printf( "\nA soma e igual a = %2.2f", soma );      
}

main()
{      
      float n;

      printf("Digite um numero maior que zero: ");
      scanf("%f", &n);
      
      if(n > 0)      
           soma( n );   
      else
          printf("\nValor invalido!\n");
               
      getch ();
      return 0;
}





4) Faça uma função que receba como parâmetro um valor inteiro e positivo N, indicando a quantidade de parcelas de uma soma S, calculada pela fórmula:
S = 2/4 + 5/5 + 10/6 + 17/7 + 26/8 + ... + (n2 + 1) / (n + 3)

Resposta:


#include <stdio.h>
#include <conio.h>

float soma(float n)
{
  float s=0;
  float i=2, j=2, k=4, l=2;

  for(i=1; i<=n; i++)
  {
  s=s+(j/k)+(((n*n)+1)/(n+3));
  k=k+1;
  j=j+i+l;
  l=l+1;
  }
  return s;
}


main()
{
  float n;
  float retorno;

  printf("Digite um valor inteiro e positivo:\n");
  scanf("%f*c", &n);

  retorno = soma(n);

  printf("\nA soma dos valores e: %2.2f", retorno);

  getch();
  return 0;
}






34 comentários:

  1. mt bom podia resolver mais exercicios...

    ResponderExcluir
    Respostas
    1. Alexsandro tudo bem? Com a correria da faculdade tive que deixar o blog um pouco de lado e focar mais nas matérias. Mas com as férias chegando logo logo vou postar mais exercícios e também mais conteúdo em linguagem C. Por isso fique ligado no Blog Inteligência-Binária. Um abraço.

      Excluir
  2. 11. Escreva um programa que verifique a validade de uma senha fornecida pelo usuário. A senha válida é 21052013. gostaria que resolvessem esse para mim

    ResponderExcluir
    Respostas
    1. Opa vamos lá Douglas, podemos fazer isso da forma mais simples possível:

      #include
      #include

      main(){


      int senha; //Declaração das variáveis

      printf("\nDigite uma senha!\n");
      scanf("%d%*c", &senha); //Entrada de dados pelo teclado

      if(senha!=21052013) //Comparação da senha - caso a senha corresponder executa este "if" e não executa o "else"

      printf("\n\nSenha invalida, digite novamente!");

      else //Caso a senha não corresponder executa o "else" e não o "if" anterior

      printf("\n\nSenha correta!");

      getch();
      return 0;
      }

      Excluir
  3. 9) Escreva um programa para ler 2 notas de um aluno, calcular e imprimir a média final. Logo após escrever a mensagem "Calcular a média de outro aluno [S]im [N]ão?"e solicitar um resposta. Se a resposta for "S", o programa deve ser executado novamente, caso contrário deve ser encerrado imprimindo a quantidade de alunos aprovados.

    ResponderExcluir
    Respostas
    1. Meu amigo seu exercício está respondido na última parte desta página (Exercício 06), acabei de postar ;-) Até +


      Excluir
  4. Vc pode me ajudar em dois exercicios, não estou conseguindo entender muito bem a linguagem C acredito que seria um ponta pé inicial para entende-lo.

    Abraços!
    Rogério

    ResponderExcluir
  5. Fazer um programa em linguagem C que leia dois números inteiros e apresente na tela a soma, subtração, multiplicação e divisão dos respectivos números.

    Fazer um programa em linguagem C que receba uma determinada hora (hora e minutos separados) e apresente na tela a hora em minutos.

    ResponderExcluir
    Respostas
    1. Caro Rogério,
      Segue os exercícios respondidos:

      http://inteligencia-binaria.blogspot.com.br/

      Abraço.

      Excluir
  6. Respostas
    1. Olá, que tipo de ajuda?
      Até +

      Excluir
    2. Só postar o que você precisa Ana, se estiver ao meu alcance irei te ajudar.

      Até +

      Excluir
  7. Preciso de ajuda tenho um trabalho pra fazer e não conseguir entender a linguagem C++, o trabalho é assim:

    implementar um programa que:
    1)Lê o numero de vértices de um polígono. (com 5 pontos)
    2)Lê as coordenadas de cada vértice.
    3)Imprime na tela as coordenadas de cada vértice.
    4)Imprime na tela o perímetro do polígono.
    5)imprime na tela a área do polígono.

    Se puder me ajudar agradeço.

    Obrigado!

    ResponderExcluir
    Respostas
    1. Caro Tiago,
      O programa já pede um polígono de 5 vértices, então para que ler o numero de vértices novamente? Não seria as distâncias entre os vértices?
      Até +

      Excluir
  8. Boa noite Wellington,

    Obrigado pela força, foi de grande ajuda.

    Abraços!

    ResponderExcluir
  9. qual linguagem hoje esta predominante no mercado,pos comecei com linguagem c,achei muito dificil,sera que java é mais facil?

    ResponderExcluir
    Respostas
    1. Boa noite Will,
      A linguagem que hoje está muito forte no mercado é a linguagem java, pois ela é uma linguagem muito volátil no qual as aplicações escritas em java, permitem a fácil migração para diversas plataformas de sistemas operacionais. Você está indo no caminho certo, pois a linguagem C é a base para se aprender outros tipos de linguagens, já que é uma linguagem estruturada não orientada a objetos. Se você conseguir dominar a linguagem C, tenho certeza meu amigo, você irá conseguir aprender com mais facilidades as outras linguagens de programação inclusive as orientadas a objeto como o java por exemplo.
      Abraços.

      Excluir
  10. olá pessoal tenho que criar este programa e não estou conseguindo preciso de ajuda, ok me ajudem, obrigado.crie um programa que tenha uma variável do tipo int, cujo valor deverá ser informado pelo usuário utilizando o operador cin.
    O programa deverá exibir o seu sucessor, antecessor e sua metade.

    Exemplo: o usuário digita o número 10, o programa vai imprimir assim:
    Sucessor: 11
    Antecessor: 9
    Metade: 5

    ResponderExcluir
  11. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  12. precisando de ajuda para criar um programa que contenha uma função que recebe como parametro de entrada valor em metros e converte para decimetros,centimetros e milimetros.
    o resultado deve ser:
    decimetro
    centimetro
    milimetro
    se puder me ajudar vou muito grato.

    ResponderExcluir
    Respostas
    1. Boa tarde,
      a resposta está na página inicial. Qualquer dúvida à disposição.

      Até +

      Excluir
  13. como criar esta programa que tenha um vetor de inteiros de tamanho 10 os valores devem ser informados pelo usuario verificar se existe o numero 1 se existir substituir por 0.
    se puder me ajudar vou melhorar minha nota.

    ResponderExcluir
    Respostas
    1. Boa tarde,
      a resposta está na página inicial. Qualquer dúvida à disposição.

      Até +

      Excluir
  14. Considerando que para um consórcio, sabe-se o número total de prestações, a quantidade de prestações paga e o valor atual da prestação.Crie um programa em C que determine o total pago pelo consorciado e o saldo devedor.
    Exiba o total pago e o saldo devedor.

    ResponderExcluir
  15. Wellington me ajuda no exercício do dia 27.
    Tenho que defender esse programa na terça (DIA 3)GRATO !

    ResponderExcluir
    Respostas
    1. Boa tarde,
      a resposta está na página inicial. Qualquer dúvida à disposição.

      Até +

      Excluir
  16. Exercício 2 – Faça um programa C que use uma função para imprimir o seguinte triângulo:

    1

    2 4

    3 6 9

    4 8 12 16

    5 10 15 20 25

    6 12 18 24

    7 14 21

    8 16

    9


    O módulo deve receber um número no intervalo de 1 a 9 e mostrar o triângulo correspondente.

    ResponderExcluir
  17. Fazer um programa que calcule as Raízes de uma equação do 2° Grau, informados os coeficientes a,b,c. No final, o programa deverá mostrar o valor do Delta e das Raízes, se existirem. Se não existirem deverá ser mostrada uma mensagem para o usuário.

    ResponderExcluir
  18. Ola tu poderia me ajudar pois preciso de um programinha em C que quando apertado um botão acenda e apague um led e quando apertado outro ele acenda e apague fique piscando o led .

    ResponderExcluir
  19. bom dia, preciso de uma ajuda com um programa, não entedi o enunciado
    Fazer um programa c que realiza a leitura dos dados de 1 ou mais funcionarios (isto é, dados sobre o codigo, a idade e o salario de cada funcionario) e calcular a idade media e o salario medio dos funcionarios.

    ResponderExcluir
  20. bom dia, tenho outra duvida com este programa
    2) Fazer um programa C que realiza a leitura dos dados de 5 funcionários (i.e., dados sobre o código, a idade e o salário de cada funcionário) e calcula a idade média e o salário médio dos funcionários. O total de funcionários, portanto, é conhecido a priori. No final, o programa mostra apenas os dados calculados (isto é, a idade média e o salário médio) e o total de funcionários na tela.

    ResponderExcluir
  21. Tenho uma dúvida. Preciso de fazer um programa em C em que seja pedido ao utilizador que digite números, num vetor e só pare quando digitar o número 0 e no fim apresente o vetor dos números digitados.

    ResponderExcluir