Aula 8 - Resoluções


Exercício 1

Alínea a)

#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    int nx;
    
    nx = 0;
    while((c = getchar()) != '.')
        if(c == 'x')
            nx++;

    printf("Ocorreram %d 'x'.\n", nx);

    return EXIT_SUCCESS;
} 

Alínea b)

#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    
    while((c = getchar()) != '.')
        putchar(c);

    return EXIT_SUCCESS;
} 

Alínea c)

#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    
    while((c = getchar()) != '.')
        printf("O caractere '%c' tem codigo %d.\n", c, (int)c);

    return EXIT_SUCCESS;
} 

Alínea d)

#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    
    while((c = getchar()) != '.')
	if(c >= 'a' && c <= 'z')
            putchar(c + 'A' - 'a');
        else
            putchar(c);

    return EXIT_SUCCESS;
} 

Alínea e)

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    
    while((c = getchar()) != '.')
        putchar(toupper(c));

    return EXIT_SUCCESS;
} 

Exercício 2

Alíneas a) e b)

#include <stdio.h>
#include <stdlib.h>

int main(void)

{
    char c; /* em rigor, como se vera' mais tarde, c deveria ser int... */
    int nespacos, ntabuladores, nfinsdelinha, nletras;

    nespacos = ntabuladores = nfinsdelinha = nletras = 0;    
    while((c = getchar()) != '.')
        if(c ==' ')
            nespacos++;
        else if(c == '\t')
            ntabuladores++;
        else if(c == '\n')
            nfinsdelinha++;
        else if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
            nletras++;

    printf("%d espacos, %d tabuladores, %d fins de linha e %d letras.\n", 
           nespacos, ntabuladores, nfinsdelinha, nletras);

    return EXIT_SUCCESS;
}

Exercício 3

Alínea a)

(Resolução não publicada)

Alínea b)

(Resolução não publicada)


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