Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCÍCIOS 3 ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C Aluno Curso Isabella de Avelar Santos 1 período – Engenharia Química EXERCÍCIOS 1. Escreva um algoritmo para ler 2 valores. Se o segundo valor informado for ZERO, deve ser lido um novo valor, ou seja, para o segundo valor não pode ser aceito o valor zero. O programa deve imprimir o resultado da divisão do primeiro valor lido pelo segundo valor lido. (utilizar a estrutura WHILE). RESOLUÇAO DO EXERCÍCIO: int main() { float x, y; printf ("digite um numero para numerador:\n"); scanf ("%f", &x); printf ("digite um numero para denominador:\n"); scanf ("%f", &y); while (y==0) { printf ("denominador impossivel, digite um numero para denominador:\n"); scanf ("%f", &y); } printf ("O valor da divisao e: %f", x/y); getch(); } 2. Reescreva o exercício anterior utilizando a estrutura DO. RESOLUÇAO DO EXERCÍCIO: int main() { float x, y; printf ("digite um numero para numerador:\n"); scanf ("%f", &x); do { printf ("digite um numero para denominador:\n"); scanf ("%f", &y); }while (y==0); printf ("O valor da divisao e: %f", x/y); getch(); } 3. Escreva um algoritmo para imprimir os números de 1 (inclusive) a 10 (inclusive) em ordem crescente (utilizar a estrutura FOR). RESOLUÇAO DO EXERCÍCIO: int main() { int x; for (x=1; x<=10; x++) { printf ("%d\n", x); } getch(); } 4. Reescreva o exercício anterior utilizando a estrutura DO. RESOLUÇAO DO EXERCÍCIO: int main() { int x; x=1; do { printf ("%d\n", x); x++; }while (x<=10); getch(); } 5. Escreva um algoritmo para imprimir os números de 1 (inclusive) a 10 (inclusive) em ordem decrescente (utilizar a estrutura FOR). RESOLUÇAO DO EXERCÍCIO: int main() { int x; for (x=10;x>=1;x--) { printf ("%d\n", x); } getch(); } 6. Reescreva o exercício anterior utilizando a estrutura DO. RESOLUÇAO DO EXERCÍCIO: int main() { int x; x=10; do { printf ("%d\n", x); x--; }while (x>=1); getch(); } 7. Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores que 100. (utilizar a estrutura FOR). RESOLUÇAO DO EXERCÍCIO: int main() { int x; for (x=101;x<=110; x++) { printf ("%d\n", x); } getch(); } 8. Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores que 100. (utilizar a estrutura WHILE). RESOLUÇAO DO EXERCÍCIO: int main() { int x; x=101; while (x<=110) { printf ("%d\n", x); x++; } getch(); } 9. Reescreva o exercício anterior utilizando a estrutura DO. RESOLUÇAO DO EXERCÍCIO: int main() { int x; x=101; do { printf ("%d\n", x); x++; } while (x<=110); getch(); } 10. Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N (inclusive). O programa deve testar se o valor N lido é maior do que 1. Caso seja menor, o programa deverá permanecer solicitando um novo número N até que o valor digitado seja maior do que 1. RESOLUÇAO DO EXERCÍCIO: int main() { int N,x; x=1; do { printf ("Digite um Numero:"); scanf ("%i", &N); } while (N<1); do { printf ("%i", x); x++; } while (x<=N); getch(); } 11. Ler um valor inteiro (aceitar somente valores entre 1 e 10) e escrever a tabuada de 1 a 10 do valor lido. (utilizar a estrutura FOR). RESOLUÇAO DO EXERCÍCIO: int main() { int num,mult; do { printf ("Digite um Numero entre 1 e 10:"); scanf ("%i", &num); } while (num<1 || num>10); for (mult=0;mult<=10;mult++) { printf ("%i X %i = %i\n", num, mult, num*mult); } getch(); } 12. Ler um valor inteiro (aceitar somente valores entre 1 e 10) e escrever a tabuada de 1 a 10 do valor lido. (utilizar a estrutura WHILE). RESOLUÇAO DO EXERCÍCIO: int main() { int num,mult; printf ("Digite um Numero entre 1 e 10:"); scanf ("%i", &num); mult=0; while (num<1 || num>10) { printf ("Digite um Numero entre 1 e 10:"); scanf ("%i", &num); } while (mult<=10) { printf ("%i X %i = %i\n", num, mult, num*mult); mult++; } getch(); } 13. Ler 10 valores e escrever quantos desses valores lidos são NEGATIVOS. RESOLUÇAO DO EXERCÍCIO: int main() { int neg,i,x; neg = 0; for (i=1;i<=10;i++) { printf("\nDigite um numero: "); scanf("%d",&x); if (x<0) { neg = neg+1; } } printf("\n %d valores sao negativos", neg); getch(); } 14. Ler o número de alunos existentes em uma turma e, após isto, ler a nota destes alunos, calcular e escrever a média aritmética dessas notas lidas. RESOLUÇAO DO EXERCÍCIO: int main() { int num,i,not,soma; soma = 0; printf("Digite o numero de alunos: \n"); scanf("%d",&num); for (i=1; i<=num;i++) { printf ("Digite a nota do aluno: \n"); scanf ("%d", ¬); soma = soma+ not; } printf("\n a media aritmetica das notas e: %d", soma/num); getch(); } 15. Escreva um algoritmo para ler 10 números. Todos os números lidos com valor inferior a 40 devem ser somados. Escreva o valor final da soma efetuada. (utilizar a estrutura FOR). RESOLUÇAO DO EXERCÍCIO: int main() { int num,i,soma; soma = 0; for (i=1;i<=10;i++) { printf("\nDigite um numero: "); scanf("%d",&num); if (num<40) { soma = soma+ num; } } printf("\n a soma dos valores inferiores a 40 e: %d", soma); getch(); } 16. Reescreva o exercício anterior utilizando a estrutura WHILE. RESOLUÇAO DO EXERCÍCIO: int main() { int num,i,soma; soma = 0; i=1; while (i<=10) { printf("\nDigite um numero: "); scanf("%d",&num); i++; if (num<40) { soma = soma+ num; } } printf("\n a soma dos valores inferiores a 40 e: %d", soma); getch(); } 17. A prefeitura de uma cidade deseja fazer uma pesquisa entre seus habitantes. Faça um algoritmo para coletar dados sobre o salário e número de filhos de cada habitante, e após as leituras, escrever: a) Média de salário da população; b) Média do número de filhos; c) Maior salário dos habitantes. RESOLUÇAO DO EXERCÍCIO: int main() { int tot_hab, tot_filhos, filhos; float tot_sal, max_sal, salario; tot_hab=tot_filhos=filhos=0; tot_sal=salario=0; printf ("digite o num filhos: "); scanf ("%d", &filhos); max_sal= -1; while (filhos >= 0) { printf ("digite o salario: "); scanf ("%f", &salario); tot_hab++; //incrementa total de habitantes tot_filhos = tot_filhos + filhos; tot_sal = tot_sal + salario; if (salario > max_sal) max_sal = salario; printf ("digite o num filhos: "); scanf ("%d", &filhos); } printf ("med_sal %f\n", tot_sal/tot_hab); printf ("med_filhos %f\n", (float)tot_filhos/tot_hab); printf ("max_sal %f\n", max_sal); getch (); } 18. Escreva um algoritmo que imprima as seguintes seqüências de números: (1, 1 2 3 4 5 6 7 8 9 10)(2, 1 2 3 4 5 6 7 8 9 10) (3, 1 2 3 4 5 6 7 8 9 10) (4, 1 2 3 4 5 6 7 8 9 10) e assim sucessivamente, até que o primeiro número (antes da vírgula), também chegue a 10. RESOLUÇAO DO EXERCÍCIO: int main() { int x, j; for (x=1; x<=10; x++){ printf ("(%d,", x); for (j=1; j<=10; j++) { printf (" %d", j); } printf (")\n"); } getch(); }
Compartilhar