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.