Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercícios resolvidos – Sequencial – Linguagem C 01. Faça um algoritmo que leia dois valores inteiros e escreva a sua soma: #include<stdio.h> int main(){ int a,b,soma; printf("Digite 2 valores"); scanf("%d%d",&a,&b); soma=a+b; printf("A soma é %d",soma); return(0); } 02. Faça um algoritmo que leia 3 valores reais, notas de um aluno, e escreva sua média aritmética. Dica:A média aritmética de um conjunto de valores é dada pela soma dos valores dividido pela quantidade de valores considerados. m=(v1+v2+v3)/3: #include<stdio.h> int main(){ float a,b,c,media; printf("Digite as três notas: "); scanf("%f%f%f",&a,&b,&c); media=(a+b+c)/3; printf("A média é %f\n",media); return(0); } 03. Faça um algoritmo que leia 2 valores reais v1 e v2 e calcule e escreva a área do triângulo que tem base igual a v1 e altura igual a v2. Dica:A área de um triângulo é dada pela expressão: (base x altura)/2: #include<stdio.h> int main(){ int v1,v2,area; printf("Digite a base e a altura: "); scanf("%d%d",&v1,&v2); area=(v1*v2)/2; printf("A área é %d",area); return(0); } 04. O coeficiente angular de um segmento de reta AB dado pelos pontos A(x1,y1) e B(x2,y2) representa a inclinação do segmento de reta, e pode ser calculado por (y2-y1)/(x2-x1). Faça um algoritmo que leia, para 3 pontos A, B e C, suas coordenadas x e y, e calcule e escreva os coeficientes angulares das retas AB, BC e AC: #include <stdio.h> void main(){ int ax,ay,bx,by,cx,cy,ab,bc,ac; scanf("%d%d%d%d%d%d",&ax,&ay,&bx,&by,&cx,&cy); ab=(by-ay)/(bx-ax); bc=(cy-by)/(cx-bx); ac=(cy-ay)/(cx-ax); printf("%d%d%d",ab,bc,ac); } 05. O produto vetorial AxB de dois vetores A=[ax,ay] e B=[bx,by] é um vetor perpendicular ao plano formado pelos vetores A e B, de módulo igual a |ax*by-ay*bx|. Faça um algoritmo que leia as componentes ax,ay,bx e by dos vetores A e B, e calcule e escreva o módulo do vetor resultante do produto vetorial: #include <stdio.h> #include <math.h> void main(){ int ax,ay,bx,by,vetor; scanf("%d%d%d%d",&ax,&ay,&bx,&by); vetor=ax*by-ay*bx; printf("%d",abs(vetor)); } 06. O produto escalar A.B de dois vetores A=[ax,ay,az...] e B=[bx,by,bz...] é dado pelo somatório ax*bx+ay*by+az*bz+... Faça um algoritmo que leia as coordenadas ax,ay,az,bx,by,bz de dois vetores no espaço tridimensional e calcule e escreva seu produto escalar: #include <stdio.h> void main(){ int ax,ay,az,bx,by,bz,prod; scanf("%d%d%d%d%d%d",&ax,&ay,&az,&bx,&by,&bz); prod=(ax*bx)+(ay*by)+(az*bz); printf("%d",prod); } 07. Faça um algoritmo que leia 3 valores a, b e c, coeficientes de uma equação de segundo grau, e calcule e escreva a soma das raízes da equação. Dica:As raízes de uma equação podem ser calculadas pela fórmula de Baskhara: #include <stdio.h> #include <math.h> void main(){ int a,b,c,r1,r2,d,soma; scanf("%d%d%d",&a,&b,&c); d=(b*b)-(4*a*c); r1=((b*-1)+(sqrt(d)))/(2*a); r2=((b*-1)-(sqrt(d)))/(2*a); soma=(r1)+(r2); printf("%d",soma); } 08. Faça um algoritmo que leia 3 valores a, b e c, coeficientes de uma equação de segundo grau, e calcule e escreva o produto (multiplicação) das raízes da equação. Dica:As raízes de uma equação podem ser calculadas pela fórmula de Baskhara: #include<stdio.h> #include<math.h> void main(){ int a,b,c,d,r1,r2,x; scanf("%d%d%d", &a,&b,&c); d=(b*b)-(4*a*c); r1=((-b)-(sqrt(d)))/(2*a); r2=((-b)+(sqrt(d)))/(2*a); x=r1*r2; printf("%d",x); } 09. Faça um algoritmo que leia 2 valores e escreva o maior deles. Dica:O maior entre dois valores quaisquer v1 e v2 pode ser calculado pela expressão (v1+v2+|v1-v2|)/2. O operador matemático de módulo ( |x| ) é representado na nossa linguagem pela função abs(x) #include<stdio.h> int main(){ int v1,v2; scanf("%d%d", &v1,&v2); if (v1>v2) printf ("%d é o maior",v1); else printf ("%d é o maior",v2); return(0); } 10. Faça um algoritmo que leia 2 valores e escreva o menor deles. Dica:O menor entre dois valores pode ser obtido a partir do maior valor e da soma dos dois (por exemplo: Se a soma de dois valores é 15 e o valor do maior é 10, como pode ser calculado o valor do menor?). #include<stdio.h> #include<math.h> void main(){ int a,b; scanf("%d%d", &a,&b); if(a<b){ printf("%d",a); } else{ printf("%d",b); } } 11. Faça um algoritmo que leia 3 valores escreva o maior deles. Dica:O maior entre três valores pode ser encontrado pela aplicação repetida da expressão para encontrar o maior entre dois valores. #include<stdio.h> #include<math.h> void main(){ int a,b,c; scanf("%d%d%d", &a,&b,&c); if(a>b && a>c){ printf("%d",a); } else if(b>a && b>c){ printf("%d",b); } else{ printf("%d",c); } } 12. Faça um algoritmo que lê um valor inteiro em reais e calcula e escreve qual o menor número possível de notas de 100,50,20,10,5,2 e 1 real em que o valor pode ser decomposto. Dica:Isso pode ser calculado a partir de operações de divisão inteira. #include <stdio.h> void main(){ int notas1, notas2, notas5, notas10, notas20, notas50, notas100, valor; printf("Informe o valor: "); scanf("%d", &valor); notas100 = valor / 100; valor = valor % 100; notas50 = valor / 50; valor = valor % 50; notas20 = valor / 20; valor = valor % 20; notas10 = valor / 10; valor = valor % 10; notas5 = valor / 5; valor = valor % 5; notas2 = valor / 2; notas1 = valor % 2; printf("%d notas de 100, %d notas de 50, %d notas de 20, %d notas de 10, %d notas de 5, %d notas de 2 e %d notas de 1", notas100,notas50,notas20,notas10,notas5,notas2,notas1); } 13. Faça um algoritmo que lê uma quantia inteira em segundos e escreva o número de horas, minutos e segundos correspondente. Dica:Para converter segundos para minutos usa-se a divisão inteira por 60. #include <stdio.h> void main(){ int horas,minutos,segundos,valor; printf("Informe o valor: "); scanf("%d", &valor); horas=valor/3600; valor=valor%3600; minutos=valor/60; segundos=valor%60; printf("%d horas, %d minutos, %d segundos",horas,minutos,segundos); } 14. Faça um algoritmo que lê 3 valores, lados de um triângulo, e calcule e escreva a área do triângulo formado. Dica:A área de um triângulo de lados a, b e c pode ser calculada pela expressão Área=raiz(S*(S-a)*(S-b)*(S-c)), onde S é o semi-perímetro, ou seja, a metade da soma dos lados: #include<stdio.h> #include<math.h> void main(){ int a,b,c,ar,s; scanf("%d%d%d", &a,&b,&c); s=(a+b+c)/2; ar=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%d",ar); } 15. Faça um algoritmo que leia 3 valores v1, v2 e v3, e troque os valores entre si de modo que ao final a variável v2 contenha o valor que foi lido para v1, a variável v3 contenha o valor que foi lido para v2, e a variável v1 contenha o valor que foi lido para a variável v3. Dica:Para trocar os valores de duas variáveis (digamos v1 e v2) entre si, salva-se o valor de uma delas (p.ex., v1) em uma variável auxiliar qualquer (p.ex., aux) , copia-se o valor da segunda (v2) para a variável que foi salva (v1), e copia-se o valor da variável auxiliar (que contem o valor original da primeira), para a segunda variável: #include<stdio.h> #include<math.h> void main(){ int v1,v2,v3,aux; scanf("%d%d%d", &v1,&v2,&v3); aux=v2; v2=v1; v1=v3; v3=aux; printf("%d%d%d", v1,v2,v3); } 16. Faça um algoritmo que leia 4 valores, Hi, Mi, Hf, Mf, representandorespectivamente a hora e minuto inicial e final de um evento, e calcule a duração do mesmo em horas e minutos. Considere que o evento inicia e termina no mesmo dia. Dica: Para simplificar o problema, converta cada par de valores em um único valor em minutos: #include <stdio.h> void main(){ int hi, mi, hf, mf, dh, dm; scanf("%d%d%d%d", &hi,&mi,&hf,&mf); if(mi>mf){ dm=(mf+60)-mi; dh=(hf-hi)-1; } else if(mf>mi){ dm=mf-mi; dh=hf-hi; } printf("%d%d",dh,dm); } 17. Faça um algoritmo que leia dois horários (hora, minuto e segundo) e escreva quantos segundos transcorreram entre esses dois horários. #include <stdio.h> void main(){ int hi, mi, si, hf, mf, sf, s; scanf("%d%d%d%d%d%d", &hi,&mi,&si,&hf,&mf,&sf); hi=hi*3600; hf=hf*3600; mi=mi*60; mf=mf*60; s=(hf+mf+sf)-(hi+mi+si); printf("%d",s); } 18. Faça um algoritmo que leia a quantidade de alunos em uma sala de aula e a quantidade de alunos por grupo, e calcule e escreva quantos grupos serão formados e o resto de alunos que não foram suficientes para formar mais um grupo: #include <stdio.h> void main(){ int a,ag,g,x; scanf("%d%d", &a,&ag); g=a/ag; x=a%ag; printf("%d%d",g,x); } 19. Faça um algoritmo que leia 5 números inteiros e escreva a quantidade deles que são pares. Dica: Um número é par se o resto da sua divisão por 2 é zero. #include <stdio.h> void main(){ int v[5],s=0,i; for(i=0;i<5;i++){ scanf("%d", &v[i]); } for(i=0;i<5;i++){ if(v[i]%2==0){ s++; } } printf("%d",s); } 20. Uma autolocadora aluga seus carros com uma taxa fixa por dia mais uma taxa por km rodado, e oferece desconto percentual sobre a taxa fixa de aluguel por dia. Escrever um algoritmo que lê a taxa fixa por dia (em reais), o percentual de desconto na taxa fixa por dia, a taxa por Km rodado (em reais), o número de dias e o número de Km rodados. O algoritmo deve calcular e escrever: o valor total do aluguel (já aplicado o desconto), o percentual de desconto, o valor do desconto em reais, o número de dias, e a quilometragem rodada. Dica: O desconto incide apenas sobre a taxa diária #include <stdio.h> void main(){ int tfixa,pdesconto,tkm,dias,km, totalcdesconto,valordesconto; scanf("%d%d%d%d%d",&tfixa,&pdesconto,&tkm,&dias,&km); valordesconto=(tfixa*dias)/pdesconto; totalcdesconto=((tkm*km)+(tfixa*dias)-valordesconto); printf("%d%d%d%d%d",totalcdesconto, pdesconto, valordesconto, dias, km); }
Compartilhar