--------------------------------------------------------------------------
MAC-115 - Turma T23 - 17 a 24/agosto/2007 - Comando "while"
comando "if" e "if-else"
==============================================================================
Comandos condicionais "if" e " if-else"
---------------------------------------------------------------
/*
* arquivo: num_neg_a.c
*
* Este programa recebe como entrada uma sequencia de inteiros
* nao-nulos cujo termino e' indicado por um 0 (sentinela).
* O programa imprime (a) o numero de inteiros (nao-nulos) lidos
* e (b) o numero de numeros estritamente negativos lidos.
*/
#include <stdio.h>
int main()
{
int x, /* cada um dos numeros que serao lidos */
conta, /* total de inteiros nao-nulos */
conta_neg; /* total de inteiros negativos */
conta = 0;
conta_neg = 0;
printf("De varios numeros inteiros e termine a colecao fornecendo o zero\n");
scanf("%d", &x);
while (x != 0) {
if (x < 0)
conta_neg++;
conta++;
scanf("%d", &x);
}
printf("Numero de inteiros nao-nulos lidos: %d.\n", conta);
printf("Numero de inteiros negativos lidos: %d.\n", conta_neg);
return 0;
}
--------------------------------------------------------/*
* arquivo: aula_pratica.c
*
* Este programa le uma sequencia de n numeros inteiros,
* para um dado n, e determina quantos deles sao pares
* e quantos sao impares.
*
*/
/**** Veja o uso do operador % (operador modulo: resto da divisao). ***/
/**** O resultado de x % y e' o resto da divisao inteira de x por y ***/
/**** Assim, para testar se um numero x e' par, basta fazer x % 2; ***/
/**** o resultado e' 0 (zero) se x e' par, e 1 (um) se x e' impar ***/
#include <stdio.h>
int main()
{
int n, /* total de numeros que devem ser lidos */
par, /* conta os numeros pares */
impar, /* conta os numeros impares */
cont, /* conta os numeros `a medida que sao lidos */
num; /* cada um dos numeros que serao lidos */
printf("Entre com o valor de n: ");
scanf("%d", &n);
printf("Digite %d numeros inteiros\n", n);
par = 0;
impar = 0;
cont = 0;
while (cont < n) {
scanf("%d", &num);
if (num % 2 == 0)
par = par + 1;
else
impar = impar + 1;
cont = cont + 1;
}
printf("Foram dados %d numero(s) par(es) e %d impar(es).\n",
par, impar);
return 0;
}
--------------------------------------------------
/*
* Arquivo: prog1.20a.c
* -------------------
* Este programa é uma solução do Problema 1.20 do Caderno
* de Exercícios: dados três números, imprimi-los em ordem
* crescente.
*/
#include <stdio.h>
int main()
{
int x, y, z;
printf("Forneca 3 inteiros (separados por brancos): ");
scanf("%d %d %d", &x, &y, &z);
if (x <= y) {
if (y <= z)
printf("Temos %d <= %d <= %d\n", x, y, z);
else if (x <= z)
printf("Temos %d <= %d <= %d\n", x, z, y);
else
printf("Temos %d <= %d <= %d\n", z, x, y);
} else if (x <= z)
printf("Temos %d <= %d <= %d\n", y, x, z);
else if (y <= z)
printf("Temos %d <= %d <= %d\n", y, z, x);
else
printf("Temos %d <= %d <= %d\n", z, y, x);
/* Parabens se voce conseguiu ler os if e if else acima */
/* e entendeu! */
return 0;
}
-----------------------------------------------------------------
/*
* Arquivo: prog1.20b.c
* --------------------
* Este programa é uma solução do Problema 1.20 do Caderno
* de Exercícios: dados três números, imprimi-los em ordem
* crescente.
*/
#include <stdio.h>
int main()
{
int x, y, z, t;
printf("Forneca 3 inteiros (separados por brancos): ");
scanf("%d %d %d", &x, &y, &z);
if (x > y) {
t = x;
x = y;
y = t;
}
/* agora x <= y */
if (x > z) {
t = x;
x = z;
z = t;
}
/* agora x <= y e x <= z */
if (y > z) {
t = y;
y = z;
z = t;
}
/* agora x <= y <= z */
printf("Temos %d <= %d <= %d.\n", x, y, z);
return 0;
}
Last modified: Wed Aug 29 18:44:25 BRT 2007