Universidade Federal de Santa Maria
Centro de Tecnologia
Departamento de Computação Aplicada
Curso de Engenharia da Computação
ELC1061 – Estruturas de Dados
Exercícios de Revisão de Linguagem C
1 – Faça um algoritmo que leia um número e identifique se ele é positivo, negativo ou
nulo.
2 – Faça um programa que leia 2 números inteiros e imprima o resto da divisão
inteira de um pelo outro.
3 – O preço de um automóvel é calculado pela soma do preço de fabrica com o preço
dos impostos (45% do preço de fabrica) e a percentagem do revendedor (28% do
preço). Faça um programa que leia o preço de fabrica do automóvel e mostre na tela
seu preço final.
4 – Um professor deseja um programa para ajudar na criação de estatísticas das notas
de aula de seus alunos. Como são turmas de tamanhos diferentes, é preciso criar um
vetor dinamicamente para cada turma, e em seguida inserir os dados dos alunos:
nome, nota1, nota2, media, exame e media final. Para cada turma, deverá ser geradas
estatísticas como: maior/menor nota de determinada prova, media aritmética de cada
prova. Para proceder com o programa considere as seguintes alternativas:
4.1 Crie uma estrutura chamada Aluno para guardar os atributos de interesse
4.2 Crie funções separadas para calcular alguma estatística específica
4.3 Salve os dados estatísticos em um arquivo externo como se fosse um
relatório
5 – Desenvolva um programa que calcule a soma de duas matrizes MxN de números
reais. O usuário deverá informar o tamanho das matrizes e em seguida inserir os seus
valores. OBS: Como o usuário que deverá informar o tamanho das matrizes, deve ser
feito alocação dinâmica e não esqueçam de liberar esse espaço no final do programa!
6 – Diz-se que uma cadeia de caracteres é um palíndromo se ela pode ser lida,
indiferentemente, da esquerda para a direita ou vice-versa. Assim, a cadeia de
caracteres “I was stressed desserts saw I” representa um palíndromo. Escreva um
programa que leia uma string é mostre uma mensagem informando se é ou não um
palíndromo.
Universidade Federal de Santa Maria
Centro de Tecnologia
Departamento de Computação Aplicada
Curso de Engenharia da Computação
7 – Reescreva o seguinte código para que a função calcula() receba por passagem de
referência um ponteiro para a variável resultado de forma que não precise retornar
nada.
int main(){
int a = 10, b = 20;
int resultado;
resultado = calcula(a,b);
}
int calcula (int a, int b){
return (a*b)/2
}
8 – Faça uma função recursiva que permita somar os elementos de um vetor de
inteiros.
9 – A multiplicação de dois números inteiros pode ser feita através de somas
sucessivas. Por exemplo, 2x3 é igual a somar o número 2 três vezes, ou o número 3
duas vezes: 2x3 = 2 + 2 + 2 = 3 + 3 = 6. Implemente um algoritmo recursivo que
calcule a multiplicação de dois números inteiros dessa forma.
10 – Faça uma função recursiva que permita calcular a média um vetor de tamanho
N.
BONS ESTUDOS
Download

ELC1061 – Estruturas de Dados Exercícios de Revisão de