Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Repetição - Respostas LISTA DE REPETIÇÃO: UTILIZANDO AS 3 ESTRUTURAS DE REPETIÇÃO QUE ESTUDAMOS EFETUE AS SEGUINTES QUESTÕES. 1. Crie um sistema que imprima todos os números pares entre 1 e 500; #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1; while (sair != 0){ printf("Escolha a opção\n"); printf("1 - FOR\n2 - WHILE\n3 - DoWHILE\n >>>> "); scanf("%d", &opcao); switch (opcao){ case 1: printf("Usando o FOR\n"); for (i=2; i<=500;i=i+2){ printf("%d ", i); } break; case 2: printf("Usando o WHILE\n"); i=2; while(i<=500){ printf("%d ", i); i=i+2; } break; case 3: printf("Usando o DO WHILE\n"); i=2; do{ printf("%d ", i); i=i+2; }while(i<=500); break; default: printf("Opção inválida 1"); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 2. Crie um sistema que imprima a sequência de 500 até 5. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1; while (sair != 0){ printf("Escolha a opção\n"); printf("1 - FOR\n2 - WHILE\n3 - DoWHILE\n >>>> "); scanf("%d", &opcao); switch (opcao){ case 1: printf("Usando o FOR\n"); for (i=500; i>=5;i--){ printf("%d ", i); } break; case 2: printf("Usando o WHILE\n"); i=500; while(i>=5){ printf("%d ", i); i--; } break; case 3: printf("Usando o DO WHILE\n"); i=500; do{ printf("%d ", i); i--; }while(i>=5); break; default: printf("Opção inválida 1"); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 3. Crie um sistema que imprima o quadrado de todos os números ímpares encontrados entre 3 e 30. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1, num; system ("color 03"); while (sair != 0){ printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("===========Usando o FOR===========\n\n"); for(i=3; i<=30 ; i++) { if(i % 2 != 0) { printf("%d²=%d ",i, i*i); } } break; case 2: printf("===========Usando o WHILE===========\n\n"); i = 3; while(i<=30) { if(i % 2 != 0) { printf("%d²=%d ", i, i*i); } i++; } break; case 3: printf("===========Usando o DOWHILE===========\n\n"); i = 3; do { if(i % 2 != 0) { printf("%d²=%d ", i, i*i); } i++; }while(i<=30); break; } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 4. Crie um sistema que o usuário possa efetuar a soma de dois números inteiros até que o usuário digite S ou s para sair. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1, a, b; char exit; system ("color 03"); while (sair != 0){ printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("===========Usando o FOR===========\n\n"); for( exit = 'c' ; exit != 'S' && exit != 's';) { printf("Informe o primeiro valor: "); scanf("%d", &a); printf("Informe o segundo valor: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf(">>>>>>>> S para sair\n>>>>>>>> C para continuar\n>>>>>>>> "); scanf("%s", &exit); } break; case 2: printf("===========Usando o WHILE===========\n\n"); exit = 'C'; while(exit != 'S' && exit != 's') { printf("Informe o primeiro valor: "); scanf("%d", &a); printf("Informe o segundo valor: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf(">>>>>>>> S para sair\n>>>>>>>> C para continuar\n>>>>>>>> "); scanf("%s", &exit); } break; case 3: printf("===========Usando o DOWHILE===========\n\n"); exit = 'C'; do{ printf("Informe o primeiro valor: "); scanf("%d", &a); printf("Informe o segundo valor: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf(">>>>>>>> S para sair\n>>>>>>>> C para continuar\n>>>>>>>> "); scanf("%s", &exit); }while(exit != 'S' && exit != 's'); break; } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 5. Leia várias idades e calcule a média entre as idades (usar uma variável para idade). #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1, somaIdade = 0, idade; float media; while (sair != 0){ printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: somaIdade = 0; printf("==Usando o FOR=====DIGITE 0 para sair.======\n\n"); for( i = 0 ; idade != 0 ; i++) { printf("Informe idade: "); scanf("%d", &idade); somaIdade = somaIdade + idade; } media = (somaIdade) / (i-1); printf("A média das idades: %.2f", media); break; case 2: somaIdade = 0; printf("==Usando o WHILE=====DIGITE 0 para sair.======\n\n"); idade=1; i = 0; while(idade != 0) { i++; printf("Informe idade: "); scanf("%d", &idade); somaIdade = somaIdade + idade; } media = somaIdade / (i - 1); printf("A média das idades: %.2f", media); break; case 3: somaIdade = 0; idade=1; i = 0; do{ i++; printf("Informe idade: "); scanf("%d", &idade); somaIdade = somaIdade + idade; }while(idade != 0); media = somaIdade / (i - 1); printf("A média das idades: %.2f", media); break; } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 6. Ler 10 números e imprimir quantos são pares e quantos são ímpares. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1, numero, contPar=0, contImpar=0; while (sair != 0){ printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("____________1 - FOR____________\n\n"); for(i=1; i<=10;i++) { printf("Digite %dº valor: ", i); scanf("%d", &numero); if (numero % 2 == 0) { contPar++; } else { contImpar++; } } printf("Total de números pares: \t%d\n", contPar); printf("Total de números ímpares: \t%d\n", contImpar); break; case 2: i=1; while(i<=10) { printf("Digite %dº valor: ", i); scanf("%d", &numero); i++; if (numero % 2 == 0) { contPar++; } else { contImpar++; } } printf("Total de números pares: \t%d\n", contPar); printf("Total de números ímpares: \t%d\n", contImpar); break; case 3: i=1; do { printf("Digite %dº valor: ", i); scanf("%d", &numero); i++; if (numero % 2 == 0) { contPar++; } else { contImpar++; } }while(i<=10); printf("Total de números pares: \t%d\n", contPar); printf("Total de números ímpares: \t%d\n", contImpar); break; default: printf("Opção inválida."); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 7. Faça um programa que mostre a tabuada de um número N (N será lido do teclado). #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i, sair = 1, numero; while (sair != 0){ printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>>"); scanf("%d", &opcao); switch (opcao) { case 1: printf("____________1 - FOR____________\n\n"); printf("Digite o número da tabuada de 1 a 10\n>>>>>>>>> "); scanf("%d", &numero); if (numero >= 0 && numero <= 10) { for( i = 1 ; i <= 10 ; i++) { printf("%d x %d: %d\n", numero, i, i * numero); } } else { printf("Tabuada é apenas de 1 até 10."); } break; case 2: i=0; printf("____________2 - WHILE____________\n\n"); printf("Digite o número da tabuada de 1 a 10\n>>>>>>>>> "); scanf("%d", &numero); if (numero >= 0 && numero <= 10) { while( i < 10 ) { i++; printf("%d x %d = %d\n", numero, i, i * numero); } } else { printf("Tabuada é apenas de 1 até 10."); } break; case 3: i=0; printf("____________3 - DOWHILE____________\n\n"); printf("Digite o número da tabuada de 1 a 10\n>>>>>>>>> "); scanf("%d", &numero); if (numero >= 0 && numero <= 10) { while( i < 10 ) { i++; printf("%d x %d: %d\n", numero, i, i * numero); } } else { printf("Tabuada é apenas de 1 até 10."); } break; default: printf("Opção inválida."); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 8. Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo (M/F) e salário. Faça um programa que calcule e mostre: a) A média dos salários do grupo; b) A maior e a menor idade do grupo; c) A quantidade de mulheres na região; d) A idade e o sexo da pessoa que possui o menor salário; Finalize a entrada de dados ao ser digitada uma idade negativa. if (menorSalario > salario)#include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, i=0, j=0, sair = 1, idade = 0, idadeMenorSalario, qtdeMulheres = 0, maiorIdade = 0, menorIdade = 100000; char sexo = ' ', sexoMenorSalario = ' '; float salario, totalSalario = 0, menorSalario=1000000, mediaSalario; while (sair != 0) { printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("\n"); for(;idade >= 0;) { i++; printf("Digite idade: "); scanf("%d", &idade); if (idade >= 0) { if (menorIdade > idade) { menorIdade = idade; } if (maiorIdade < idade) { maiorIdade = idade; } printf("Sexo: "); scanf("%s", &sexo); if (sexo == 'f' || sexo == 'F'){ qtdeMulheres++; } printf("Salario:"); scanf("%f", &salario); totalSalario = totalSalario + salario; { menorSalario = salario; idadeMenorSalario = idade; sexoMenorSalario = sexo; } printf("\n"); } } mediaSalario = totalSalario / i; printf("=================Relatório=================\n\n"); printf("Média salarial é: R$ %.2f\n", mediaSalario); printf("A maior idade é : %d\n", maiorIdade); printf("A menor idade é : %d\n", menorIdade); printf("Qtde de mulheres: %d\n", qtdeMulheres); printf("O menor salário é de R$ %.2f\n", menorSalario); printf("Sexo dessa pessoa que ganha menos é: %c\n", sexoMenorSalario); break; case 2: printf("\n"); i = 0; while(idade >= 0) { i++; printf("Digite idade: "); scanf("%d", &idade); if (idade >= 0) { if (menorIdade > idade) { menorIdade = idade; } if (maiorIdade < idade) { maiorIdade = idade; } printf("Sexo: "); scanf("%s", &sexo); if (sexo == 'f' || sexo == 'F'){ qtdeMulheres++; } printf("Salario:"); scanf("%f", &salario); totalSalario = totalSalario + salario; if (menorSalario > salario) { menorSalario = salario; idadeMenorSalario = idade; sexoMenorSalario = sexo; } printf("\n"); } } mediaSalario = totalSalario / i; printf("=================Relatório=================\n\n"); printf("Média salarial é: R$ %.2f\n", mediaSalario); printf("A maior idade é : %d\n", maiorIdade); printf("A menor idade é : %d\n", menorIdade); printf("Qtde de mulheres: %d\n", qtdeMulheres); printf("O menor salário é de R$ %.2f\n", menorSalario); printf("Sexo dessa pessoa que ganha menos é: %c\n", sexoMenorSalario); break; case 3: printf("\n"); i = 0; do { i++; printf("Digite idade: "); scanf("%d", &idade); if (idade >= 0) { if (menorIdade > idade) { menorIdade = idade; } if (maiorIdade < idade) { maiorIdade = idade; } printf("Sexo: "); scanf("%s", &sexo); if (sexo == 'f' || sexo == 'F'){ qtdeMulheres++; } printf("Salario:"); scanf("%f", &salario); totalSalario = totalSalario + salario; if (menorSalario > salario) { menorSalario = salario; idadeMenorSalario = idade; sexoMenorSalario = sexo; } printf("\n"); } } while(idade >= 0); mediaSalario = totalSalario / i; printf("=================Relatório=================\n\n"); printf("Média salarial é: R$ %.2f\n", mediaSalario); printf("A maior idade é : %d\n", maiorIdade); printf("A menor idade é : %d\n", menorIdade); printf("Qtde de mulheres: %d\n", qtdeMulheres); printf("O menor salário é de R$ %.2f\n", menorSalario); printf("Sexo dessa pessoa que ganha menos é: %c\n", sexoMenorSalario); break; default: printf("Opção inválida."); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 9. Escreva um algoritmo que leia um número do teclado até que encontre um número menor ou igual a 1. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, sair = 1, i = 0, num = 2; while (sair != 0) { printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("Utilizando o For.......................\n\n"); for(; num > 1 ;) { printf("Digite número: "); scanf("%d", &num); } break; case 2: printf("Utilizando o While.......................\n\n"); num = 2; while(num > 1) { printf("Digite número: "); scanf("%d", &num); } break; case 3: printf("Utilizando o DO While.......................\n\n"); num = 2; do { printf("Digite número: "); scanf("%d", &num); }while(num > 1); break; default: printf("Opção inválida."); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 10. Faça um programa em C que receba a idade de 10 pessoas e mostre quantas são maiores que 18 anos. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, sair = 1, i = 0, idade, contDeMaior = 0; while (sair != 0) { printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("Utilizando o For.......................\n\n"); printf("Digite 10 idades>>>>\n\n"); for(i = 1 ; i <= 10 ; i++) { printf("Digite %dª idade: ", i); scanf("%d", &idade); if (idade >= 18 ) { contDeMaior++; } } printf("Quantidade de idades de maior: %d\n\n", contDeMaior); break; case 2: printf("Utilizando o WHILE.......................\n\n"); i = 1; while(i <= 10) { printf("Digite %dª idade: ", i); scanf("%d", &idade); if (idade >= 18 ) { contDeMaior++; } i++; } printf("Quantidade de idades de maior: %d\n\n", contDeMaior); break; case 3: printf("Utilizando o DO WHILE.......................\n\n"); i = 1; while(i <= 10) { printf("Digite %dª idade: ", i); scanf("%d", &idade); if (idade >= 18 ) { contDeMaior++; } i++; } printf("Quantidade de idades de maior: %d\n\n", contDeMaior); break; default: printf("Opção inválida."); }printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); } 11. Uma loja utiliza o código V para compras à vista e o código P para compras a prazo. Faça um algoritmo que receba o código e o valor de 3 transações. Calcule e mostre: • O valor total das compras à vista • O valor total das compras a prazo • O valor total das compras efetuadas #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int opcao, sair = 1, i = 0; char tipoCompra; float valorCompra, totalVista = 0, totalPrazo = 0, totalGeral = 0; while (sair != 0) { printf("Escolha a opção: \n"); printf("\n>>>>>> 1 - FOR\n>>>>>> 2 - WHILE\n>>>>>> 3 - DOWHILE\n\n>>>>>> "); scanf("%d", &opcao); switch (opcao) { case 1: printf("Utilizando o For.......................\n\n"); printf("Informe as comprar >>>>\n\n"); totalVista = 0, totalPrazo = 0, totalGeral = 0; for(i = 1 ; i <= 3 ; i++) { printf("Digite %dº valor da compra: ", i); scanf("%f", &valorCompra); printf("Digite V - Compra a vista\t\t P - Compra a prazo: "); scanf("%s", &tipoCompra); if (tipoCompra == 'V' || tipoCompra == 'v') { totalVista = totalVista + valorCompra; } else if (tipoCompra == 'P' || tipoCompra == 'p') { totalPrazo = totalPrazo + valorCompra; } else { printf("Opção inválida. \n\n"); } totalGeral = totalGeral + valorCompra; } printf("Valor total das compras a prazo: %.2f\n", totalPrazo); printf("Valor total das compras a vista: %.2f\n", totalVista); printf("Valor total das compras: %.2f\n", totalGeral); break; case 2: totalVista = 0, totalPrazo = 0, totalGeral = 0; printf("Utilizando o WHILE.......................\n\n"); printf("Informe as comprar >>>>\n\n"); i = 1; while( i <= 3) { printf("Digite %dº valor da compra: ", i); scanf("%f", &valorCompra); printf("Digite V - Compra a vista\t\t P - Compra a prazo: "); scanf("%s", &tipoCompra); if (tipoCompra == 'V' || tipoCompra == 'v') { totalVista = totalVista + valorCompra; } else if (tipoCompra == 'P' || tipoCompra == 'p') { totalPrazo = totalPrazo + valorCompra; } else { printf("Opção inválida. \n\n"); } totalGeral = totalGeral + valorCompra; i++; } printf("Valor total das compras a prazo: %.2f\n", totalPrazo); printf("Valor total das compras a vista: %.2f\n", totalVista); printf("Valor total das compras: %.2f\n", totalGeral); break; case 3: totalVista = 0, totalPrazo = 0, totalGeral = 0; printf("Utilizando o DO WHILE.......................\n\n"); printf("Informe as comprar >>>>\n\n"); i = 1; do { printf("Digite %dº valor da compra: ", i); scanf("%f", &valorCompra); printf("Digite V - Compra a vista\t\t P - Compra a prazo: "); scanf("%s", &tipoCompra); if (tipoCompra == 'V' || tipoCompra == 'v') { totalVista = totalVista + valorCompra; } else if (tipoCompra == 'P' || tipoCompra == 'p') { totalPrazo = totalPrazo + valorCompra; } else { printf("Opção inválida. \n\n"); } totalGeral = totalGeral + valorCompra; i++; }while( i <= 3); printf("Valor total das compras a prazo: %.2f\n", totalPrazo); printf("Valor total das compras a vista: %.2f\n", totalVista); printf("Valor total das compras: %.2f\n", totalGeral); break; default: printf("Opção inválida."); } printf("\n\n1 para continuar ou 0 para sair: >>>> "); scanf("%d", &sair); } printf("\n"); system("pause"); }
Compartilhar