Buscar

lista07-selecao-c-gabarito

Prévia do material em texto

1	
  
APG0001 – TURMA B – Algoritmos e Programação 
Prof. Felipe Crescencio de Oliveira 
Lista de exercícios 7 – Estruturas de Seleção em C 
 
1) Faça um programa que informe o mês de acordo com o número 
informado pelo usuário. (Exemplo: Entrada: 4. Saída: Abril). 
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc, char *argv[]) 
{ 
 int mes; 
 
 printf("Informe um número de 1 a 12: "); 
 scanf("%i", &mes); 
 
 switch(mes) { 
 case 1: { 
 printf("\nO número %i 
equivale ao mes Janeiro.\n", mes); 
 break; 
 } 
 case 2: { 
 printf("\nO número %i 
equivale ao mes Fevereiro.\n", mes); 
 break; 
 } 
 case 3: { 
 printf("\nO número %i 
equivale ao mes Março.\n", mes); 
 break; 
 } 
 case 4: { 
 printf("\nO número %i 
equivale ao mes Abril.\n", mes); 
 break; 
 } 
 case 5: { 
 printf("\nO número %i 
equivale ao mes Maio.\n", mes); 
 break; 
 } 
 case 6: { 
	
   2	
  
 printf("\nO número %i 
equivale ao mes Junho.\n", mes); 
 break; 
 } 
 case 7: { 
 printf("\nO número %i 
equivale ao mes Julho.\n", mes); 
 break; 
 } 
 case 8: { 
 printf("\nO número %i 
equivale ao mes Agosto.\n", mes); 
 break; 
 } 
 case 9: { 
 printf("\nO número %i 
equivale ao mes Setembro.\n", mes); 
 break; 
 } 
 case 10: { 
 printf("\nO número %i 
equivale ao mes Outubro.\n", mes); 
 break; 
 } 
 case 11: { 
 printf("\nO número %i 
equivale ao mes Novembro.\n", mes); 
 break; 
 } 
 case 12: { 
 printf("\nO número %i 
equivale ao mes Dezembro.\n", mes); 
 break; 
 } 
 default: { 
 printf("\nO número %i é 
menor que 1 ou maior 12.\n", mes); 
 break; 
 } 
 } 
 
 system("PAUSE"); 
 return 0; 
} 
	
   3	
  
 
 
2) Escreva um programa em C para ler 3 valores (considere que não 
serão informados valores iguais) e escrever a soma dos 2 maiores. 
/* 
Cortesia do colega Kawe 
*/ 
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc, char *argv[]) 
{ 
 int valor1, valor2, valor3, maiorvalor, 
menorvalor; 
 
 printf("Digite 3 valores\n"); 
 scanf("%i %i %i", &valor1, &valor2, &valor3 ); 
 
 
 if(valor1>valor2 && valor1>valor3){ 
 maiorvalor = valor1; 
 if(valor2>valor3){ 
 
menorvalor=valor2; 
 } else 
 
menorvalor=valor3; 
 } 
 
 else if(valor2>valor1 && 
valor2>valor3) { 
 maiorvalor=valor2; 
 if(valor1>valor3){ 
 
menorvalor=valor1; 
 } else 
 
menorvalor=valor3; 
 } 
 
 else if(valor3>valor2 && 
valor3>valor1){ 
 maiorvalor=valor3; 
 if(valor2>valor1){ 
	
   4	
  
 
menorvalor=valor2; 
 } else 
 
menorvalor=valor1; 
 } 
 
 
 
 printf("O valor da soma e: %i \n", 
maiorvalor+menorvalor); 
 
 system("PAUSE"); 
 return 0; 
} 
 
 
3) Escreva um programa em C para ler o número de lados de um 
polígono regular, e a medida do lado. 
a. Calcular e imprimir o seguinte: 
b. Se o número de lados for igual a 3 escrever TRIÂNGULO e o 
valor do seu perímetro. 
c. Se o número de lados for igual a 4 escrever QUADRADO e o 
valor da sua área. 
d. Se o número de lados for igual a 5 escrever PENTÁGONO. 
e. Em qualquer outra situação escrever Polígono não identificado. 
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc, char *argv[]) 
{ 
 int nlados, vlado; 
 
 printf("Informe o número de lados do 
polígono: "); 
 scanf("%i", &nlados); 
 
 printf("\nInforme a medida do lado: "); 
 scanf("%i", &vlado); 
 
 switch(nlados) { 
 case 3: { 
 printf("\nO polígono é um 
TRIÂNGULO e seu perímetro é %i.\n", vlado * 3); 
	
   5	
  
 break; 
 } 
 case 4: { 
 printf("\nO polígono é um 
QUADRADO e sua area é %i.\n", vlado * 2); 
 break; 
 } 
 case 5: { 
 printf("\nO polígono é um 
PENTÁGONO.\n"); 
 break; 
 } 
 default: { 
 printf("\nPolígono não 
identificado.\n"); 
 break; 
 } 
 } 
 
 system("PAUSE"); 
 return 0; 
} 
 
 
4) Escreva um programa em C que leia a idade de 2 homens e 2 mulheres 
(considere que a idade dos homens será sempre diferente, assim como 
das mulheres). Calcule e escreva a soma das idades do homem mais 
velho com a mulher mais nova, e o produto das idades do homem 
mais novo com a mulher mais velha. 
#include <stdio.h> 
#include <stdlib.h> 
 
int main(int argc, char *argv[]) 
{ 
 int idadeh1, idadeh2, idadem1, idadem2, 
hmaisvelho, hmaisnovo, mmaisvelha, mmaisnova; 
 
 printf("Informe a idade do 1o homem: "); 
 scanf("%i",&idadeh1); 
 
 printf("\nInforme a idade do 2o homem: "); 
 scanf("%i",&idadeh2); 
 
	
   6	
  
 printf("\nInforme a idade da 1a mulher: "); 
 scanf("%i",&idadem1); 
 
 printf("\nInforme a idade da 2a mulher: "); 
 scanf("%i",&idadem2); 
 
 if(idadeh1 > idadeh2) { 
 hmaisvelho = idadeh1; 
 hmaisnovo = idadeh2; 
 } else { 
 hmaisvelho = idadeh2; 
 hmaisnovo = idadeh1; 
 } 
 
 if(idadem1 > idadem2) { 
 mmaisvelha = idadem1; 
 mmaisnova = idadem2; 
 } else { 
 mmaisvelha = idadem2; 
 mmaisnova = idadem1; 
 } 
 
 printf("\nA soma das idades do homem mais 
velho com a mulher mais nova é %i.", hmaisvelho + 
mmaisnova); 
 printf("\nO produto das idades do homem mais 
novo com a mulher mais velha é %i.\n", hmaisnovo 
* mmaisvelha); 
 
 system("PAUSE"); 
 return 0; 
} 
 
 
5) Escreva um programa em C que leia as notas das 2 avaliações normais 
e a nota da avaliação optativa. Caso o aluno não tenha feito a optativa 
deve ser fornecido um valor negativo. Calcular a média do semestre 
considerando que a prova optativa substitui a nota mais baixa entre as 
2 primeiras avaliações. Escrever a média e uma mensagem que 
indique se o aluno foi aprovado (média >= 7) ou reprovado. 
#include <stdio.h> 
#include <stdlib.h> 
 
	
   7	
  
int main(int argc, char *argv[]) 
{ 
 float nota1, nota2, notaop, notamaior, 
notamenor,media; 
 
 printf("Informe a 1a nota do aluno: "); 
 scanf("%f", &nota1); 
 
 printf("\nInforme a 2a nota do aluno: "); 
 scanf("%f", &nota2); 
 
 printf("\nInforme a nota da optativa (se não 
tiver feito a optativa informe um número 
negativo): "); 
 scanf("%f", &notaop); 
 
 if(nota1 > nota2) { 
 notamaior = nota1; 
 notamenor = nota2; 
 } else { 
 notamaior = nota2; 
 notamenor = nota1; 
 } 
 
 if(notaop >= 0) { 
 notamenor = notaop; 
 } 
 
 media = (notamaior + notamenor) / 2; 
 
 printf("\nA média do aluno é %.2f e ele está 
", media); 
 
 if(media < 7) { 
 printf("REPROVADO.\n"); 
 } else { 
 printf("APROVADO.\n"); 
 } 
 
 system("PAUSE"); 
 return 0; 
}

Continue navegando