--------------------------------------------------------------------------
MAC-115 -------------- 25 a 27 de março ---------------------- MAC-115
--------------------------------------------------------------------------
comando iterativo "while"
==========================================================================
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);
system("PAUSE");
return 0;
}
--------------------------------------------------------/*
/*
* Arquivo: prog1.20.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! */
system("PAUSE");
return 0;
}
-----------------------------------------------------------------
OUTRA INDENTAÇÃO (do programa acima)
-----------------------------------------------------------------
#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);
system("PAUSE");
return 0;
}
---------------------------------------------------------------------------
OUTRA SOLUÇÃO (do Problema 1.20)
---------------------------------------------------------------------------
/*
* 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);
system("PAUSE");
return 0;
}
Last modified: Mon Mar 24 19:51:22 BRT 2008