Estarei disponibilizando abaixo 30+ exercícios resolvidos utilizando a linguagem C, espero que estes contribua nos seus estudos.
Linguagem C
C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada pela ISO, criada em 1972, por Dennis Ritchie, no AT&T Bell Labs, para desenvolver o sistema operacional Unix (que foi originalmente escrito em Assembly).[1]
Fonte: Wikipedia
Exercício 1
O coração humano bate em média uma vez por segundo. Desenvolver um algoritmo para calcular e escrever quantas vezes o coração de uma pessoa baterá se viver X anos.
/*#include<stdio.h>
#include<math.h>
#define batano 365.25
#define batdia 24
#define bathora 60
#define batminuto 60
int main()
{
int idade;
float battotal;
scanf("%d",&idade);
battotal= batano * batdia * bathora * batminuto * idade;
printf("O CORACAO BATEU %.2f VEZES\n",battotal);
return 0;
}
Exercício 2
Um fabricante de latas deseja desenvolver um algoritmo para calcular o custo de uma lata cilíndrica de alumínio, sabendo-se que o custo do alumínio por m² é R$ 100,00.
/*#include<stdio.h>
#include<math.h>
#define pi 3.1415
#define valormetro 100
int main()
{
float raio,altura,arealata,valortotal;
scanf("%f",&raio);
scanf("%f",&altura);
arealata=(pi * pow(raio,2) * 2) + (2 * pi * raio * altura);
valortotal= arealata * valormetro;
printf("O VALOR DO CUSTO E = %.2f\n",valortotal);
}
Exercício 3
Teorema de Pitágoras: H² = L1² + L2² . Tem uma infinidade de números com essa combinação. Dado dois números inteiros positivos, M e N, onde M>N, desenvolver um algoritmo para entrar com dois números positivos e fornecer os valores dos lados e da Hipotenusa do triângulo gerados combinando M e N.
/*#include<stdio.h>
#include<math.h>
int main()
{
float l1,l2,M,N,hipotenusa;
scanf("%f",&M);
scanf("%f",&N);
l1= pow(M,2)- pow(N,2);
l2= 2 * M * N;
hipotenusa= pow(M,2) + pow(N,2);
printf("L1 = %.2f\n",l1);
printf("L2 = %.2f\n",l2);
printf("HIPOTENUSA = %.2f\n",hipotenusa);
}
Exercício 4
Muitos países estão passando a utilizar o sistema métrico. Fazer um algoritmo para executar as seguintes conversões:
– Ler uma temperatura em Fahrenheit e imprimir o equivalente em Celsius C=(5F-160)/9.
– Ler uma quantidade de chuva dada em polegadas e imprimir o equivalente em milímetros (1 polegada = 25,4 mm).
/*#include<stdio.h>
#include<math.h>
#define milimetro_pol 25.4
int main ()
{
float celsius,fahrenheit,chuvapolegada,chuvamilimetro;
scanf("%f",&fahrenheit);
scanf("%f",&chuvapolegada);
celsius=(5 * fahrenheit - 160)/9;
chuvamilimetro=chuvapolegada * milimetro_pol;
printf("O VALOR EM CELSIUS = %.2f\n",celsius);
printf("A QUANTIDADE DE CHUVA E = %.2f\n",chuvamilimetro);
return 0;
}
Exercício 5
Fazer um programa para ler os valores dos coeficientes A, B e C de uma equação quadrática e calcular e imprimir o valor do discriminante (delta).
/*#include<stdio.h>
#include<math.h>
int main ()
{
float A,B,C,delta;
scanf("%f",&A);
scanf("%f",&B);
scanf("%f",&C);
delta= pow(B,2) - 4 * A * C;
printf("O VALOR DE DELTA E = %.2f\n",delta);
return 0;
}
Exercício 6
O custo ao consumidor de um carro novo é a soma do custo de fábrica com a porcentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que a porcentagem do distribuidor seja de 12% do preço de fábrica e os impostos de 30% do preço de fábrica, fazer um programa para ler o custo de fábrica de um carro e imprimir o custo ao consumidor.
/*#include<stdio.h>
#include<math.h>
int main ()
{
float custocarro,custototal;
scanf("%f",&custocarro);
custototal=(0.12 * custocarro) + (0.30 * custocarro) + custocarro;
printf("O VALOR DO CARRO E = %.2f\n",custototal);
return 0;
}
Exercício 7
Desenvolver um algoritmo para ler os comprimentos dos três lados de um triângulo (L1, L2 e L3) e calcular a área do triângulo.
/*#include<stdio.h>
#include<math.h>
int main()
{
float L1,L2,L3,areatriangulo,T;
scanf("%f",&L1);
scanf("%f",&L2);
scanf("%f",&L3);
T =(L1 + L2 + L3) / 2;
areatriangulo = sqrt( T * (T - L1) * (T - L2) * (T - L3));
printf("A AREA DO TRIANGULO E = %.2f\n",areatriangulo);
return 0;
}
Exercício 8
Desenvolver um algoritmo para ler o nome, idade e peso de três pessoas. Calcular e imprimir idade e o peso médio das três pessoas.
/*#include<stdio.h>
#include<math.h>
int main()
{
char nome1,nome2,nome3;
int idade1, idade2, idade3;
float peso1, peso2, peso3, pesomedio;
scanf("%s",&nome1);
scanf("%d",&idade1);
scanf("%f",&peso1);
scanf("%s",&nome2);
scanf("%d",&idade2);
scanf("%f",&peso2);
scanf("%s",&nome3);
scanf("%d",&idade3);
scanf("%f",&peso3);
pesomedio = (peso1 + peso2 + peso3) / 3;
printf("IDADE 1 = %d\n",idade1);
printf("IDADE 2 = %d\n",idade2);
printf("IDADE 3 = %d\n",idade3);
printf("O PESO MEDIO E = %.2f\n",pesomedio);
return 0;
}
Exercício 9
Dados dois pontos A e B, cujas coordenadas A(x1, y1) e B(x2, y2) serão informadas via teclado, desenvolver um algoritmo que calcule a distância entre A e B.
/*#include<stdio.h>
#include<math.h>
int main()
{
float X1, X2, Y1, Y2, distancia;
scanf("%f",&X1);
scanf("%f",&Y1);
scanf("%f",&X2);
scanf("%f",&Y2);
distancia = sqrt( (pow(X2 - X1,2))+ (pow(Y2 - Y1,2)));
printf("A DISTANCIA ENTRE A e B = %.2f\n",distancia);
return 0;
}
Exercício 10
Dado um número de três algarismos, construir outro número de quatro algarismos de acordo com a seguinte regra:
Os três primeiros algarismos, contados da esquerda para a direita são iguais ao número dado.
O quarto algarismo é um digito de controle calculado da seguinte forma: primeiro número + segundo número * 3 + terceiro número * 5. O dígito de controle é igual ao resto da divisão dessa soma por 7.
/*#include<stdio.h>
#include<math.h>
int main()
{
int N1,N2,N3,N4,AUX,tresdigitos,quatrodigitos;
scanf("%d",&tresdigitos);
N3 = tresdigitos % 10;
AUX = tresdigitos / 10;
N2 = AUX % 10;
AUX = AUX / 10;
N1 = AUX % 10;
AUX = N1 + ( N2 * 3 ) + ( N3 * 5 );
N4 = AUX % 7;
quatrodigitos = tresdigitos * 10 + N4;
printf("O NOVO NUMERO E = %d\n",quatrodigitos);
return 0;
}
Exercício 11
Fazer um algoritmo que dados os 4 elementos de uma matriz 2 x 2. Calcule e escreva o valor do determinante desta matriz.
/*#include<stdio.h>
#include<math.h>
int main()
{
float A,B,C,D,det;
scanf("%f",&A);
scanf("%f",&B);
scanf("%f",&C);
scanf("%f",&D);
det = (A * D) - (B * C);
printf("O VALOR DO DETERMINANTE E = %.2f\n",det);
return 0;
}
Exercício 12
Dada a base e a altura de uma pirâmide. Fazer um algoritmo que calcule e escreva o volume desta.
/*#include<stdio.h>
#include<math.h>
int main()
{
float base,altura,volume;
scanf("%f",&base);
scanf("%f",&altura);
volume = 1 / 3.0 * (base * altura);
printf("O VOLUME DA PIRAMIDE E = %.2f\n",volume);
return 0;
}
Exercício 13
Fazer um algoritmo que obtenha o raio e a altura de um cilindro. Calcular e escrever o volume e a área deste cilindro.
/*#include<stdio.h>
#include<math.h>
#define pi 3.1415
int main()
{
float raio, altura, volume, area;
scanf("%f",&raio);
scanf("%f",&altura);
area = 2 * pi * raio * (altura + raio);
volume = pi * pow(raio,2) * altura;
printf("O VALOR DA AREA E = %.2f\n",area);
printf("O VALOR DO VOLUME E = %.2f\n",volume);
return 0;
}
Exercício 14
Uma locadora de charretes cobra R$ 10,00 de taxa para cada 3 horas de uso destas e R$5,00 para cada 1 hora abaixo destas 3 horas. Fazer um algoritmo que dado a quantidade de horas que a charrete foi usada calcular e escrever quanto o cliente tem de pagar.
/*#include<stdio.h>
#include<math.h>
int main()
{
int horas;
float valor1, valor2, restante, total;
scanf("%d",&horas);
valor1 = (horas / 3 ) * 10;
restante = (horas % 3);
valor2 = restante * 5;
total = valor1 + valor2;
printf("O VALOR A PAGAR E = %.2f\n",total);
return 0;
}
Exercício 15
Fazer um algoritmo que leia três números inteiros positivos (A, B e C) e calcular e imprmir o valor de D.
/*#include<stdio.h>
#include<math.h>
int main()
{
float A,B,C,D,R,S;
scanf("%f",&A);
scanf("%f",&B);
scanf("%f",&C);
R = pow(A + B,2);
S = pow(B + C,2);
D = (R + S) / 2;
printf("O VALOR DE D = %.2f\n",D);
return 0;
}
Exercício 16
Fazer um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a apenas em dias.
/*#include<stdio.h>
#include<math.h>
#define diasanos 365
#define diameses 30
int main()
{
int idadedias, anos, meses, dias;
scanf("%d",&anos);
scanf("%d",&meses);
scanf("%d",&dias);
idadedias = (diasanos * anos ) + ( diameses * meses ) + dias;
printf("O VALOR EM DIAS E = %d\n",idadedias);
return 0;
}
Exercício 17
Fazer um algoritmo que leia a idade de uma pessoa expressa em dias e mostre-a expressa em anos,
meses e dias.
/*#include<stdio.h>
#include<math.h>
#define valorano 365
#define valormes 30
int main()
{
int dias, anos , meses, qntdias, aux;
scanf("%d",&qntdias);
anos = qntdias / valorano;
aux = qntdias % valorano;
meses = aux / valormes;
dias = aux % valormes;
printf("%d ANOS %d MESES %d DIAS\n",anos,meses,dias);
return 0;
}
Exercício 18
Fazer um algoritmo que leia o tempo de duração de um evento expresso em segundos e mostre-o expresso em horas, minutos e segundos.
#include<stdio.h>
#include<math.h>
#define valorhora 3600
#define valorminuto 60
int main()
{
int segundostotal, horas, minutos, segundos, aux;
scanf("%d",&segundostotal);
horas = segundostotal / valorhora;
aux = segundostotal % valorhora;
minutos = aux / valorminuto;
segundos = aux % valorminuto;
printf("%d HORAS %d MINUTOS %d SEGUNDOS\n",horas,minutos,segundos);
return 0;
}
Exercício 19
Um sistema de equações lineares do tipo:
ax + bx = c
dx + ex = f
pode ser resolvido segundo mostrado abaixo:
x = ce – bf e y = af – cd
ae – bd ae – bd
Escreva um algoritmo que lê os coeficientes a, b, c, d, e, f. Calcule e mostre os valores de x e y.
/*#include<stdio.h>
#include<math.h>
int main()
{
float A, B , C, D , E, F, X, Y;
scanf("%f",&A);
scanf("%f",&B);
scanf("%f",&C);
scanf("%f",&D);
scanf("%f",&E);
scanf("%f",&F);
X = (( C * E ) - ( B * F )) / (( A * E ) - ( B * D ));
Y = (( A * F ) - ( C * D )) / (( A * E ) - ( B * D ));
printf("O VALOR DE X E = %.2f\n",X);
printf("O VALOR DE Y E = %.2f\n",Y);
return 0;
}
Exercício 20
Escreva um algoritmo que lê um valor em reais e calcula qual o menor número possível de notas de $100, $50, $10 e $1 em que o valor lido pode ser decomposto. Escrever o valor lido e a relação de notas necessárias.
/*#include<stdio.h>
#include<math.h>
int main()
{
int valorreais, nota100, nota50, nota10, nota1, aux;
scanf("%d",&valorreais);
nota100 = valorreais / 100;
aux = valorreais % 100;
nota50 = aux / 50;
aux = aux % 50;
nota10 = aux / 10;
nota1 = aux % 10;
printf("NOTAS DE 100 = %d\n",nota100);
printf("NOTAS DE 50 = %d\n",nota50);
printf("NOTAS DE 10 = %d\n",nota10);
printf("NOTAS DE 1 = %d\n",nota1);
return 0;
}
Exercício 21
Escrever um algoritmo que lê:
– A porcentagem do IPI a ser acrescido no valor das peças;
– O código da peça 1, valor unitário da peça 1, quantidade de peças 1;
– O código da peça 2, valor unitário da peça 2, quantidade de peças 2;
O algoritmo deve calcular o valor total a ser pago e apresentar o resultado.
/*#include<stdio.h>
#include<math.h>
int main()
{
float valor1, quant1, cod1, valor2, quant2, cod2, formula,ipi;
scanf("%f",&ipi);
scanf("%f",&cod1);
scanf("%f",&valor1);
scanf("%f",&quant1);
scanf("%f",&cod2);
scanf("%f",&valor2);
scanf("%f",&quant2);
formula = (valor1 * quant1 + valor2 * quant2) * (ipi / 100 + 1);
printf("O VALOR TOTAL A SER PAGO = %.2f\n",formula);
return 0;
}
Exercício 22
Escreva um algoritmo para calcular o consumo médio de um automóvel (medido em Km/l), dado que são conhecidos a distância total percorrida e o volume de combustível consumido para percorrê-la (medido em litros).
/*#include<stdio.h>
#include<math.h>
int main()
{
float distancia, volumelitros, media;
scanf("%f",&distancia);
scanf("%f",&volumelitros);
media = distancia / volumelitros;
printf("O CONSUMO MEDIO = %.2fKM/L\n",media);
return 0;
}
Exercício 23
Escrever um algoritmo que lê o número de funcionário, seu número de horas trabalhadas, o valor que recebe por hora, o número de filhos com idade menor que 14 anos e o valor do salário família (pago por filho com menos de 14 anos). Calcular o salário total deste funcionário e escrever o seu número e o seu salário total.
/*#include<stdio.h>
#include<math.h>
int main()
{
int numfunc, horas, numfilhos;
float valorhora, valorfamilia,saltotal;
scanf("%d",&numfunc);
scanf("%d",&horas);
scanf("%f",&valorhora);
scanf("%d",&numfilhos);
scanf("%f",&valorfamilia);
saltotal = (horas * valorhora) + (numfilhos * valorfamilia);
printf("NUMERO DO FUNCIONARIO = %d\n",numfunc);
printf("SALARIO TOTAL = %.2f\n",saltotal);
return 0;
}
Exercício 24
Escrever um algoritmo que lê o valor de uma compra em dólares, a taxa do dólar no dia da compra, o percentual de ICMS e o percentual de lucro da empresa, e calcular e escrever o valor a ser pago em reais, sabendo-se que o percentual de lucro e o percentual de ICMS incidem sobre o valor em reais.
/*#include<stdio.h>
#include<math.h>
int main()
{
float compradolar, taxadolar, icms, lucroempresa, valorpagar, comprareais;
scanf("%f",&compradolar);
scanf("%f",&taxadolar);
scanf("%f",&icms);
scanf("%f",&lucroempresa);
comprareais = compradolar * taxadolar;
comprareais = (comprareais * icms/100) + (comprareais * lucroempresa /100) + comprareais;
printf("O VALOR PAGO EM REAIS = %.2f\n",comprareais);
return 0;
}
Exercício 25
Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem,
escrever um algoritmo que lê a diária normal e calcula e escreve as seguintes informações:
– O valor da diária no período da promoção.
– O valor médio arrecadado sem a promoção, durante um mês (apenas finais de semana).
– O valor médio arrecadado com a promoção, durante um mês (apenas finais de semana).
– O lucro ou prejuízo mensal com a promoção.
/*#include<stdio.h>
#include<math.h>
int main()
{
float diariapromo, mediapromo, mediasempromo, diarianormal, lucroouprej;
scanf("%f",&diarianormal);
diariapromo = 0.22 * diarianormal;
mediasempromo = ( 42 * 0.4) * 8 * diarianormal;
mediapromo = (42 * 0.7) * 8 * diariapromo;
lucroouprej = mediapromo - mediasempromo;
printf("O VALOR DA DIARIA NO PERIODO DA PROMOCAO = %.2f\n",diariapromo);
printf("O VALOR MEDIO ARRECADADO SEM A PROMOCAO = %.2f\n",mediasempromo);
printf("O VALOR MEDIO ARRECADADO COM A PROMOCAO = %.2f\n",mediapromo);
printf("LUCRO OU PREJUIZO = %.2f\n",lucroouprej);
return 0;
}
Exercício 26
Escrever um algoritmo que lê um número de 3 dígitos e o inverta, escrevendo o número invertido.
/*#include<stdio.h>
#include<math.h>
int main()
{
int N1, N2, N3, numero, aux;
scanf("%d",&numero);
N1 = numero / 100;
aux = numero % 100;
N2 = aux / 10;
N3 = aux % 10;
numero = (N3 * 100) + (N2 * 10) + N1;
printf("O NUMERO INVERTIDO = %d\n",numero);
return 0;
}
Exercício 27
Em uma padaria, o padeiro quer saber qual o custo de fabricação do pão francês de forma a saber por quanto terá que vender o pão, tendo um lucro de 30%. Sabendo-se que a receita do pão leva farinha, água e fermento, escreva um algoritmo que lê a quantidade de quilos de farinha, o valor do quilo de farinha, a quantidade de litros de água, o valor do litro de água, a quantidade de quilowatts
de hora de luz, o valor do quilowatts hora e o percentual do imposto que o padeiro para pelo pão e calcular e imprimir o preço de custo e de venda.
/*#include<stdio.h>
#include<math.h>
int main()
{
float quilofarinha, v_quilofarinha, qnt_litroagua, v_litroagua, qnt_watshoraluz, v_qntwatshora, precocusto, precovenda, lucro,imposto;
scanf("%f",&quilofarinha);
scanf("%f",&v_quilofarinha);
scanf("%f",&qnt_litroagua);
scanf("%f",&v_litroagua);
scanf("%f",&qnt_watshoraluz);
scanf("%f",&v_qntwatshora);
scanf("%f",&imposto);
precocusto = (quilofarinha * v_quilofarinha) + (qnt_litroagua * v_litroagua) + ( qnt_watshoraluz * v_qntwatshora);
precocusto = (precocusto * (imposto/100)) + precocusto;
lucro = precocusto * 0.3;
precovenda = (precocusto + lucro);
//precovenda = ((imposto/100) * precovenda) + precovenda;
printf("PRECO DE CUSTO = %.2f\n",precocusto);
printf("PRECO DE VENDA = %.2f\n",precovenda);
return 0;
}
Exercício 28
Escrever um algoritmo que lê a massa (toneladas) de um avião, sua aceleração (m/s²) e o tempo (s) que levou do repouso até a decolagem. Calcular e escrever a velocidade atingida (Km/h), o comprimento da pista (m) e o trabalho mecânico realizado (J) no momento da decolagem.
/*#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
float massa, aceleracao, tempo , velocidade, velo_final,massa2;
double comp_pista,trabalho;
scanf("%f",&massa);
scanf("%f",&aceleracao);
scanf("%f",&tempo);
massa2 = massa * 1000;
velocidade = aceleracao * tempo;
trabalho = massa2 * pow(velocidade,2) /2;
velocidade = aceleracao * tempo * 3.6;
comp_pista = (aceleracao * pow(tempo,2)) /2;
printf("VELOCIDADE = %.2f\n",velocidade);
printf("ESPACO PERCORRIDO = %.2f\n",comp_pista);
printf("TRABALHO REALIZADO = %.2f\n",trabalho);
return 0;
}
Exercício 29
Escrever um algoritmo que lê o público total de futebol e fornecer a renda do jogo, sabendo-se que havia 4 tipos de ingressos assim distribuídos: popular 10% a R$1,00, geral 50% a R$5,00, arquibancada 30% a R$10,00 e cadeiras 10% a R$ 20,00.
/*#include<stdio.h>
#include<math.h>
int main()
{
int publicototal;
float rendajogo, ing_pop, ing_geral, ing_arq, ing_cadeira;
scanf("%d",&publicototal);
ing_pop = 0.1 * publicototal;
ing_geral = 0.5 * publicototal;
ing_arq = 0.3 * publicototal;
ing_cadeira = 0.1 * publicototal;
rendajogo = (ing_pop * 1) + (ing_geral * 5) + (ing_arq * 10) + (ing_cadeira * 20);
printf("A RENDA DO JOGO = %.2f\n",rendajogo);
return 0;
}
Exercício 30
Uma autolocadora aluga seus carros com uma taxa fixa por dia, uma taxa por Km rodado e desconto de 10% na taxa fixa de aluguel por dia. Escrever um algoritmo que lê a taxa fixa por dia, a taxa por Km rodado, o número de dias, o número de quilômetro rodado e calcular e escrever o valor total do aluguel, o valor do desconto, o numero de dias, e a quilometragem rodada.
/*#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int dias, kmrodado;
float taxadia, desconto, totalaluguel, taxakm;
scanf("%f",&taxadia);
scanf("%f",&taxakm);
scanf("%d",&dias);
scanf("%d",&kmrodado);
totalaluguel = ((taxadia - (taxadia * 0.1)) * dias) + (taxakm * kmrodado);
desconto = (taxadia * 0.1) * dias;
printf("VALOR TOTAL DO ALUGUEL = %.2f\n",totalaluguel);
printf("VALOR DO DESCONTO = %.2f\n",desconto);
printf("NUMERO DE DIAS = %d\n",dias);
printf("QUILOMETRAGEM RODADA = %d\n",kmrodado);
return 0;
}
Exercício 31
Escrever um algoritmo que lê a taxa de consumo de potência elétrica de um refrigerador, o tempo em horas que permaneceu ligado e o valor do quilowatt hora e calcular e escrever a energia total gasta pelo refrigerador, bem como, o valor a ser pago á companhia de Energia Elétrica.
/*#include<stdio.h>
#include<math.h>
int main()
{
int tempohoras;
float taxaconsumo, valorwatt, energiatotal, valortotal;
scanf("%f",&taxaconsumo);
scanf("%d",&tempohoras);
scanf("%f",&valorwatt);
energiatotal = taxaconsumo * tempohoras;
valortotal = energiatotal * valorwatt;
printf("ENERGIA TOTAL GASTA = %.2f\n",energiatotal);
printf("VALOR A SER PAGO = %.2f\n",valortotal);
return 0;
}
Caso tenha alguma dúvida sobre a linguagem C ou queira deixar algum feedback deixe nos comentários abaixo.
