------------------------------------------------------------------- MAC-115 - Turma T24 - Aula 23/agosto/01 - Operadores lógicos && (and) || (or) ==================================================================== /* * Arquivo: bissexto.c * ------------------- * Este programa recebe um ano como entrada * e determina se o ano e' bissexto. * Um ano e' bissexto se ele e' divisivel por 4, * a menos que ele seja tambem divisivel por 100. * Os anos divisiveis por 100 sao bissextos se sao * divisiveis por 400. */ #include int main() { int ano; printf("Forneca o ano: "); scanf("%d", &ano); if (((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)) printf("O ano %d e' bissexto.\n", ano); else printf("O ano %d nao e' bissexto.\n", ano); return 0; } ----------------------------------------------------- /* * Arquivo: bissexto2.c * -------------------- * Este programa recebe um ano como entrada * e determina se o ano e' bissexto. * Um ano e' bissexto se ele e' divisivel por 4, * a menos que ele seja tambem divisivel por 100. * Os anos divisiveis por 100 sao bissextos se sao * divisiveis por 400. */ #include int main() { int ano, eh_bissexto; printf("Forneca o ano: "); scanf("%d", &ano); eh_bissexto = ((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0); if (eh_bissexto) printf("O ano %d e' bissexto.\n", ano); else printf("O ano %d nao e' bissexto.\n", ano); return 0; } ----------------------------------------------------------- /* * Arquivo: prog1.7.c * ------------------ * Este programa e' uma solução do Problema 1.7 do Caderno * de Exercícios: dado um inteiro positivo n e * dadas n notas (inteiros entre 0 e 100), determinar * a maior nota e a menor nota. */ #include int main() { int i, n, nota, nota_max, nota_min; printf("Qual e o numero de notas? "); scanf("%d", &n); nota_max = 0; nota_min = 100; for (i = 0; i < n; i++) { printf("Nota? "); scanf("%d", ¬a); if (nota > nota_max) nota_max = nota; if (nota < nota_min) nota_min = nota; } printf("A nota maxima foi %d.\n", nota_max); printf("A nota minima foi %d.\n", nota_min); return 0; } ----------------------------------------------------- /* * arquivo: mdc1.c * * Este programa recebe dois numeros inteiros positivos m, n e calcula o * maximo divisor comum (mdc) desses numeros, usando o algoritmo de * Euclides. */ #include int main() { int m, n, resto; printf("Entre com o valor de m: "); scanf("%d", &m); printf("m = %d\n", m); printf("Entre com o valor de n: "); scanf("%d", &n); printf("n = %d\n", n); resto = m % n; while (resto != 0) { m = n; n = resto; resto = m % n; } printf("O mdc e' %d\n", n); return 0; } ------------------------------------------------------ /* Este programa calcula o maximo divisor comum (mdc) * dos inteiros positivos m e n */ #include int main() { int m, n, resto; printf("Entre com o valor de m: "); scanf("%d/n", &m); printf("m = %d\n", m); printf("Entre com o valor de n: "); scanf("%d/n", &n); printf("n = %d\n", n); do { resto = m % n; m = n; n = resto; } while (resto != 0); printf("O mdc e' %d\n", m); return 0; } ------------------------------------------------------ /* * arquivo: digitos.c * ----------------- * Este programa imprime todos os digitos de um dado * inteiro positivo n * */ #include int main() { int n, digito; printf("De o valor de n (um inteiro positivo):\n"); scanf("%d", &n); printf("Os digitos que compoem %d sao :\n", n); while (n > 0) { digito = n % 10; // resto da divisao de n por 10 n = n / 10; // atualiza n (jogando fora o digito mais `a direita) printf("%d ", digito); } return 0; } ----------------------------------------------------------