exercícios programação estruturada e construção de...
Post on 14-Aug-2020
2 Views
Preview:
TRANSCRIPT
Exercícios Programação Estruturada e Construção de Algoritmo
// >>> 1.0 Sequência Simples
/*
* Exer. 1) Ler um número e mostrar.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num;
printf("Digite um numero: ");
scanf("%d",&num);
printf("O numero que voce digitou foi: %d",num);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 2) Ler dois números e mostrar o produto desses números.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num1,num2,prod;
printf("Digite dois numeros: ");
scanf("%d %d",&num1,&num2);
prod = num1 * num2;
printf("O produto de %d e %d e´ %d",num1,num2,prod);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 3) Ler a idade de duas pessoas e mostrar a soma.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int idade1,idade2,soma;
printf("Digite duas idades: ");
scanf("%d %d",&idade1,&idade2);
soma = idade1 * idade2;
printf("A soma das idades %d e %d e´ %d",idade1,idade2,soma);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 4) Ler dois numeros e trocar o conteudo destas variaveis
* entre si. Mostrar o novo conteudo.
* OBS.: optamos por fazer SEM VARIÁVEL AUXILIAR
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b;
printf("Digite dois numeros: ");
scanf("%d %d",&a,&b);
a = a+b;
b = a-b;
a = a-b;
printf("O novo conteudo de \"a\" e´ %d e de \"b\" e´ %d",a,b);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 5) Ler três números e efetuar o cálculo das expressões:
* * (A - B) * C
* * ((x - 5) * y) - z
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b,c,exp1,exp2;
printf("Digite tres numeros: ");
scanf("%d %d %d",&a,&b,&c);
exp1 = (a - b) * c;
exp2 = ((a - 5) * b) - c;
printf("(A - B) * C = (%d - %d) * %d = %d\n\n",a,b,c,exp1);
printf("((x - 5) * y) - z = ((%d - 5) * %d) - %d
= %d\n",a,b,c,exp2);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 6) Ler duas notas, seus pesos e mostrar a média ponderada
* Média Ponderada = (Nota1*PesoNota1) + (Nota2*PesoNota2)/SomaPesos
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int nota1,nota2,peso1,peso2;
float mediaP;
printf("Digite a primeira nota e seu peso: ");
scanf("%d %d",¬a1,&peso1);
printf("Digite a segunda nota e seu peso: ");
scanf("%d %d",¬a2,&peso2);
mediaP = ((nota1 * peso1) + (nota2 * peso2)) / (peso1 + peso2);
printf("A Media Ponderada e´ %.1f",mediaP);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 7) Ler temperatura em Fahrenheit e mostrá-la em Centígrados
* Centígrados = (Fahrenheit - 32) * 5 / 9
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int c,f;
printf("Digite a temperatura em Fahrenheit: ");
scanf("%d",&f);
c = (f - 32) * 5 / 9;
printf("%d graus Fahrenheit = %d graus Centígrados",c);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 8) Quantos litros e quanto vai gastar. Ler a distância,
* o consumo (km rodados/litros) e o preço da gasolina
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float dist,con,preco,litros,gastos;
printf("Digite a distância (km): ");
scanf("%f",&dist);
printf("Digite o consumo (km) por litro de gasolina: ");
scanf("%f",&con);
printf("Digite o preco da gasolina: ");
scanf("%f",&preco);
litros = dist / con;
gastos = litros * preco;
printf("Abastecer %.2f litros.\nO gasto será
de %.2f",litros,gastos);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 9) A partir de um valor lido, mostrar:
* o total a pagar com desconto de 10%
* o valor de cada parcela, no parcelamento de 3x sem juros;
* a comissão do vendedor, venda à vista (5% do valor com desconto)
* a comissão do vendedor, venda à prazo (5% do valor total)
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float valor;
printf("Insira o valor da compra: ");
scanf("%f",&valor);
printf("\nCom desconto de 10%%: %.2f",valor*0.9);
printf("\nValor da parcela em 3x sem juros: %.2f",valor/3);
printf("\nComissao para venda 'a vista: %.2f",(valor*0.9)*0.05);
printf("\nComissao para venda parcelada: %.2f\n",valor*0.05);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 10) Ler um valor em segundos e mostrar no formato HH:MM:SS
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int s;
printf("Insira o valor em segundos: ");
scanf("%d",&s);
printf("%.2d:%.2d:%.2d",(s/60/60)%24,(s/60)%60,s%60);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 11) Ler um valor em metros e mostrá-lo em decímetros,
* centímetros e milímetros
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float metros;
printf("Insira o valor em metros: ");
scanf("%f",&metros);
printf("\n%.2fm = %.2fdm = %.2fcm = %.2fmm",metros,metros*10,
metros*100,metros*1000);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 12) Calcular a quantidade de latas de tinta para pintar uma
* parede com X metros de largura por H metros de altura. Considere:
* * consumo de tinta por metro quadrado: 2,5 litros
* * quantidade de tinta por lata: 8 litros
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float larguraParede,alturaParede,totalLatas;
printf("Insira o valor da largura da parede: ");
scanf("%f",&larguraParede);
printf("Insira o valor da altura da parede: ");
scanf("%f",&alturaParede);
totalLatas = (larguraParede*alturaParede*2.5)/8;
printf("Sera necessario %.2f latas.",totalLatas);
getch();
return(0);
}
//*******************************************************************
// >>> 2.0 Estrutura condicionais
/*
* Exer. 13) Ler dois numeros e mostrar o maior deles
* OBS.: mesmo que os dois sejam iguais o programa atingirá o objetivo
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b,maior;
printf("Escreva dois numeros: ");
scanf("%d %d",&a,&b);
if (a<b) maior = a;
else maior = b;
printf("O maior numero inserido foi: %d",maior);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 14) Ler um numero e informar se é positivo ou negativo
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a;
printf("Insira um numero:");
scanf("%d",&a);
if (a>0) printf("O numero e' positivo.");
else if (a<0) printf("O numero e' negativo.");
else printf("O número e' 0 (zero).");
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 15) Ler um numero e mostrar se é par ou ímpar.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a;
printf("Insira um numero:");
scanf("%d",&a);
if (a == 0) printf("O número e' 0 (zero).");
else if (a%2 == 0) printf("O numero e' par.");
else printf("O numero e' impar.");
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 16) Ler três números e mostrar em ordem decrescente
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b,c;
printf("Insira tres numeros: ");
scanf("%d %d %d",&a,&b,&c);
printf("\nOriginal: {%d,%d,%d}",a,b,c);
// se 'b' for maior que 'a' trocar posicoes de (b e a)
if (b>a){a=a+b;b=a-b;a=a-b;}
// nesse ponto a e' maior que b
// se 'c' for maior que 'a'
// trocar posicoes de (a e c) e de (b e c)
if (c>a)
{
a=a+c;c=a-c;a=a-c;
b=b+c;c=b-c;b=b-c;
}
// se 'c' for maior que 'b' (já que não é de a)
// trocar posicoes de (c e b)
else if (c>b){b=b+c;c=b-c;b=b-c;}
printf("\nDecrescente: {%d,%d,%d}",a,b,c);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 17) Ler a capacidade de um elevador e o peso de 3 pessoas.
* Informar se o elevador está liberado para subir ou excedeu a carga
* máxima
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float cap,p1,p2,p3;
printf("Informe a capadidade do elevador (kg): ");
scanf("%f",&cap);
printf("Informe o peso das 3 pessoas (kg)");
scanf("%f %f %f",&p1,&p2,&p3);
if ((p1+p2+p3) < cap)
printf("O elevador esta liberado.");
else
printf("O elevador excedeu a carga maxima.");
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 18) Ler 3 notas e mostrar:
* * media das notas
* * aprovado (media >= 7)
* * prova final (media >= 4 e media < 7)
* * reprovado (media < 4)
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
float n1,n2,n3,media;
printf("Insira 3 notas: ");
scanf("%f %f %f",&n1,&n2,&n3);
media = (n1+n2+n3)/3;
printf("\nMedia do aluno: %.2f",media);
printf("\nSituacao do aluno: ");
if (media >= 7)
printf("aprovado.");
else if (media >= 4 && media < 7)
printf("prova final.");
else if (media < 4)
printf("reprovado.");
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 19) Bilheteria de metro. O operador informará:
* * o tipo do bilhete (unitário, duplo ou 10 viagens)
* * [respectivamente (R$ 1.30, R$ 2.60, R$ 12.00)]
* * o valor pago pelo passageiro
* O programa de mostrar:
* * a quantidade de bilhetes possíveis
* * o troco
*/
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main ()
{
int d,qtdUnit,qtdDup,qtdDez;
float dinheiro,trocoUnit,trocoDup,trocoDez;
printf("Insira o valor recebido (R$): ");
scanf("%f",&dinheiro);
if (dinheiro < 1.30)
printf("Nao e possivel comprar nada.");
else
{
trocoUnit = fmod(dinheiro,1.3);
trocoDup = fmod(dinheiro,2.6);
trocoDez = fmod(dinheiro,12);
qtdUnit = floor(dinheiro/1.3);
qtdDup = floor(dinheiro/2.6);
qtdDez = floor(dinheiro/12);
printf("\nO cliente pode comprar:");
printf("\nUnitario(s): %d. Troco: %.2f",qtdUnit,trocoUnit);
printf("\nDuplos: %d. Troco: %.2f",qtdDup,trocoDup);
printf("\n10 viagens: %d. Troco: %.2f",qtdDez,trocoDez);
}
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 20) Calcular o salário de um funcionário. Ler:
* * salário bruto
* * número de dependentes
* Mostrar o salário líquido
* * SLíquido = SBruto - DescINSS + (15,00 * NDependentes) +
* * AuxRefeicao (100,00)
* Salário Bruto | % INSS
* Até 300 | 9
* 301-700 | 10
* Acima de 700 | 11
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int nDep,iDInss;
float sLiq,sBru,dInss[3]={0.9,0.1,0.11};
printf("Insira o Salario Bruto: ");
scanf("%f",&sBru);
printf("Insira o numero de dependentes: ");
scanf("%d",&nDep);
if (sBru < 0)
printf("O valor inserido e' menor ou igual a 0.");
else
{
if (sBru <= 300)
iDInss = 0;
else if (sBru > 300 && sBru <= 700)
iDInss = 1;
else
iDInss = 2;
sLiq = sBru - (sBru * dInss[iDInss]) + (15 * nDep) + 100;
printf("Salario Bruto: R$ %.2f\nDesconto INSS:
R$ %.2f\nSalario Liquido: R$ %.2f",sBru,sBru * dInss[iDInss],sLiq);
}
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 21) Ler o turno M,V,N (Matutino,Verpertino,Noturno)
* Mostrar a mensagem "Bom dia!", "Boa tarde!", "Boa noite!" ou
* "Valor Inválido"
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
char turno;
printf("Escolha um turno: \n[M]Matutino \n[V]Vespertino \n[N]
Noturno\n");
scanf("%c",&turno);
switch(turno)
{
case 'm':
case 'M':
printf("Bom dia!");
break;
case 'v':
case 'V':
printf("Boa tarde!");
break;
case 'n':
case 'N':
printf("Boa noite!");
break;
default:
printf("Valor invalido!");
}
getch();
return(0);
}
//*******************************************************************
// >>> 3.0 Estruturas de Repetição
/*
* Exer. 22) Ler 50 numeros, um por vez, mostrar quantos são negativos
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,negativos=0,i;
printf("Insira 50 numeros: ");
for (i = 0;i < 50;i++)
{
scanf("%d",&num);
if (num < 0)
negativos++;
}
printf("Foram digitados %d numeros negativos.",negativos);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 23) Ler 50 numeros, um por vez, mostrar o maior
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,maior,i;
printf("Insira 50 numeros: ");
scanf("%d",&num);
maior = num;
for (i = 1;i < 50;i++)
{
scanf("%d",&num);
if (num < maior)
maior = num;
}
printf("O maior numero digitado foi: %d.",maior);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 24) Ler um numero e mostrar a tabuada de 1 a 10 deste
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,i;
printf("Insira um numero: ");
scanf("%d",&num);
for (i = 1;i <= 10;i++)
{
printf("%2d x %d = %5d\n",i,num,i*num);
}
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 25) Ler 100 numeros e mostrar a diferenca entre menor e maior
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,maior,menor,i;
printf("Insira 100 numeros: ");
scanf("%d",&num);
maior = num;
menor = num;
for (i = 1;i < 100;i++)
{
scanf("%d",&num);
if (num > maior)
maior = num;
if (num < menor)
menor = num;
}
printf("Maior: %d\nMenor: %d\nDiferenca: %d",maior,menor,menor-
maior);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 26) Gerar e mostrar 50 números ímpares começando do 101
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int i,j;
for (i = 101,j = 1;i < (101+50*2);i+=2,j++)
printf("[%.2d] %d\n",j,i);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 27) Ler 2 numeros inteiros, listar numeros no intervalo
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a,b,i;
printf("Insira 2 numeros: ");
scanf("%d %d",&a,&b);
printf("\n]%d,%d[ = {",a,b);
if(a < b)
for (i = a+1;i < b;i++)
{
printf("%d",i);
if(i != b-1)
printf(",");
}
else if(a > b)
for (i = a-1;i > b;i--)
{
printf("%d",i);
if(i != b+1)
printf(",");
}
printf("}\n\n");
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 28) Ler 100 numeros, mostrar a diferenca entre a media dos
* 50 primeiros e a media dos 50 ultimos
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int i;
float num,a=0,b=0;
printf("Insira 100 numeros:\n");
for (i = 0;i < 100;i++)
{
scanf("%f",&num);
if(i < 50)
a+=num;
else
b+=num;
}
printf("A diferenca entre as medias e': %.2f",(a/50)-(b/50));
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 29) Graos no tabuleiro de xadrez
* OBS.: O computador não aguenta calcular um número tão grande
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int graos=1,i;
for (i = 0;i < 64;i++)
graos+=graos;
/* outra forma de se fazer sem utilizar "for"
graos = graos * pow(2,64);
*/
printf("%d",graos);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 30) 90 bois, identificação e peso.
* Mostrar mais gordo e mais magro.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
}
//*******************************************************************
/*
* Exer. 31) Ler qtd indeterminada de números, um por vez.
* mostrar a qtd de numeros fornecidos e a qtd de positivos
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,total=0,positivos=0;
printf("Insira quantos numeros desejar:");
printf("\n(Insira '0' para sair)\n");
while (1)
{
scanf("%d",&num);
if (num == 0) break;
if (num < 0 || num > 0)
total++;
if (num < 0)
positivos++;
}
printf("\nTotal de numeros fornecidos: %d",total);
printf("\nTotal de numeros positivos: %d",positivos);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 32) Ler qtd indeterminada de números, um por vez.
* mostrar a qtd de numeros fornecidos e o maior deles
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,total=0,maior=0;
printf("Insira quantos numeros desejar:");
printf("\n(Insira '0' para sair)\n");
scanf("%d",&num);
if (num != 0)
{
total++;
maior=num;
while (1)
{
scanf("%d",&num);
if (num == 0) break;
if (num < 0 || num > 0)
total++;
if (num > maior)
maior=num;
}
}
printf("\nTotal de numeros fornecidos: %d",total);
printf("\nO maior numero fornecido foi: %d",maior);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 33) Ler 1 numero e dizer se ele é primo
* primo: divisível SOMENTE por ele mesmo e por um
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,i,divisoes;
while (1)
{
divisoes = 0;
printf("Insira um numero:");
printf("\n(Insira '0' para sair)\n");
scanf("%d",&num);
if (num == 0) break;
if (num > 0)
{
for (i=num;i > 0;i--)
if (num % i == 0)
divisoes++;
}
else
printf("Insira um numero positivo.");
if (divisoes < 3)
printf("Numero primo!");
else
printf("Numero NAO primo!");
printf("\n\n");
}
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 34) Série Fibonacci
* T[n] = T[n-1] + T[n-2]
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int n,i,f0,f1;
while (1)
{
f0=0;f1=1;
printf("Insira a quantidade de elementos desejado para a
Série Fibonacci: ");
printf("\nInsira '0' para sair)\n");
scanf("%d",&n);
if (n == 0) break;
printf("Fibonacci (%d) = {%d,",n,f0);
printf("%d",f1);
for (i = 0;i < n-2;i++)
{
printf(",");
f1 = f0 + f1;
f0 = f1 - f0;
printf("%d",f1);
}
printf("}\n\n\n");
}
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 35) Fatorial
* Ex.: 5! = 5*4*3*2 = 120
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int num,fat,i;
while(1)
{
fat = 1;
printf("Insira um numero positivo: ");
printf("\nInsira '0' para sair)\n");
scanf("%d",&num);
if (num == 0) break;
if (num >= fat)
for (i = fat;i <= num;i++)
fat *= i;
else
continue;
printf("%d! = %d\n\n\n",num,fat);
}
getch();
return(0);
}
//*******************************************************************
// >>> 4.0 Vetores
/*
* Exer. 36) Ler um vetor com 6 elementos e mostrá-los.
* Em seguida contar os elementos negativos e mostre total.
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int v[6],i,negativos=0;
printf("Insira 6 valores: ");
for (i = 0; i < 6;i++)
scanf("%d",&v[i]);
for (i = 0; i < 6;i++)
printf("\nv[%d] = %d",i,v[i]);
for (i = 0; i < 6;i++)
if (v[i] < 0)
negativos++;
printf("\n\nTotal de negativos: %d",negativos);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 37) Ler um vetor de 10 elementos e mostrar na ordem inversa
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int v[10],i;
printf("Insira 10 valores: ");
for (i = 0; i < 10;i++)
scanf("%d",&v[i]);
for (i = 9; i >= 0;i--)
printf("\nv[%d] = %d",i,v[i]);
getch();
return(0);
}
//*******************************************************************
/*
* Exer. 38) Ler 100 numeros e um outro numero.
* substituir todos os valores do vetor iguais ao numero por 0 e
* mostrar
*/
#include <stdio.h>
#include <conio.h>
int main ()
{
int v[100],n,i;
printf("Insira 1 numero: ");
scanf("%d",&n);
printf("\nInsira 100 numeros: \n");
for (i = 0; i < 100;i++)
scanf("%d",&v[i]);
for (i = 0; i < 100;i++)
if (v[i] == n)
v[i] = 0;
for (i = 0; i < 100;i++)
printf("\nv[%d] = %d",i,v[i]);
getch();
return(0);
}
//*******************************************************************
top related