| NOME DO ALUNO : | ||
| NUSP : | ||
| ASSINATURA: | ||
| Nota | |
| Questão 1 | |
| Questão 2 | |
| Questão 3a | |
| Questão 3b | |
| Questão 4 | |
| TOTAL |
Simule a execução do programa abaixo, destacando a saída e os estados das variáveis nos pontos (*), (**) e (***). Utilize como entrada os três últimos dígitos de seu número USP. Assim, se seu NUSP for 3267962, a entrada será 962.
#include <stdio.h>
#include <malloc.h>
typedef struct no * apont;
struct no
{
int info;
apont prox;
};
void InsereInicio (apont * inicio, int x)
{
apont novo;
novo = (apont) malloc( sizeof(struct no) );
novo->info = x;
novo->prox = *inicio;
*inicio = novo;
}
void RemoveInicio (apont * inicio)
{
apont p = *inicio;
*inicio = (*inicio)->prox;
free (p);
}
void ImprimeLista (apont inicio)
{
apont p;
printf("Lista: ");
for (p = inicio; p!= NULL; p = p->prox)
printf("%d ", p->info);
printf("\n");
}
int main()
{
apont lista = NULL;
int numero, d;
scanf("%d", &numero);
printf("Entrada = %d\n", numero);
d = numero % 10;
numero = numero / 10;
if (d > 5)
InsereInicio(&lista, d);
ImprimeLista(lista); (*)
d = numero % 10;
numero = numero / 10;
InsereInicio (&lista, d);
ImprimeLista(lista); (**)
RemoveInicio(&lista);
ImprimeLista(lista); (***)
return 0;
}
Exemplo: Dada a frase AB*C*D** a seqüência de letras que serão desempilhadas será BCDA.
Dada a seqüência EST*EÉ***FA*C**IL*** qual é a seqüência de letras
desempilhada?
b. Usando a convenção acima, insira asteriscos na palavra BOLA para obter como saída:
Aproveite este última folha para fazer uma crítica à disciplina: aulas, trabalhos, listas, etc. O que você acha que deve ser mudado nos próximos meses?
Sua nota nesta questão (a menos que você a deixe em branco) será completa, independentemente do que você escrever.