Aula 5 - Resoluções não publicadas


Exercício 1

Alínea b)

/* Escrita por extenso de valores ate' 9999: */
#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    int numero, divisor, algarismo;

    /* Ler o numero: */
    printf("\nQual o numero? ");
    scanf("%d", &numero);

    /* Se o numero e' zero, escreve e sai: */
    if(numero == 0)
        printf("zero\n");
    else
    {
        divisor = 1000;
        do
        {
            algarismo = numero / divisor;
            /* So' escreve valores algarismos nao nulos: */
            if(algarismo != 0)
            {
		switch(algarismo)
                {
		    case 0: 
                        printf("zero ");  /* este e' desnecessario... */
                        break;
		    case 1:  
                        printf("um ");
                        break;
		    case 2:  
                        printf("dois ");
                        break;
		    case 3:  
                        printf("tres ");
                        break;
		    case 4:  
                        printf("quatro ");
                        break;
		    case 5:  
                        printf("cinco ");
                        break;
		    case 6:  
                        printf("seis ");
                        break;
		    case 7:  
                        printf("sete ");
                        break;
		    case 8:  
                        printf("oito ");
                        break;
		    case 9:  
                        printf("nove ");
                        break;
		    default:  
                        printf("%d (nao extenso) ", algarismo);
                        break;
		}
		switch(divisor)
                {
		    case 1000:  
                        printf("milhares ");
                        break;
		    case 100:  
                        printf("centenas ");
                        break;
		    case 10:  
                        printf("dezenas ");
                        break;
		    case 1:  
                        printf("unidades ");
                        break;
		    default:  
                        printf("numero invalido! ");
                        break;
		}
            }
	    numero = numero % divisor;
	    divisor = divisor / 10;
        }
	while(divisor != 0);
	putchar('\n');    /* equivalente a printf("\n"). */
    }
    return EXIT_SUCCESS;
}

Exercício 2

Alínea b)

Escreve no ecrã qual o maior de três números lidos da entrada.


Exercício 3

Alínea a)

SomaPares
inicio
    inteiro valor1, valor2;

    escrever linha, "Introduza 10 valores: ";
    (* Repetir 5 vezes (5 pares de valores): *)
    repetir 5 vezes:
        ler para valor1, valor2;
        escrever valor1 + valor2, linha;
    fim repetir;
fim.
/* Somar pares de valores: */
#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    int i, valor1, valor2;

    printf("\nIntroduza 10 valores: ");
    /* Repetir 5 vezes (5 pares de valores): */
    for(i = 0; i < 5; i++)
    {
        scanf("%d%d", &valor1, &valor2);
        printf("%d\n", valor1 + valor2);
    }
    return EXIT_SUCCESS;
}

Alínea c)

Algoritmo "bubble sort". A resolver numa aula posterior.


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE