NovaListaDeExercicios C
NovaListaDeExercicios C
NovaListaDeExercicios C
PRC ‐ IST
Esta lista de exercícios é fundamental para o entendimento da primeira
parte da matéria de Programação em Linguagem C. Faça‐a e tire suas
dúvidas em tempo hábil. Estude!
Fabio Lopes Licht
02/09/2008
Exercícios de C
2008
1. Faça um programa para somar dois números inteiros.
4. Faça um programa que calcule o maior de 2 números reais. Os 2 números devem ser
introduzidos pelo usuário.
5. Imaginem que em uma dada disciplina, a nota final é obtida da seguinte forma: o trabalho
tem peso 25% e a prova tem peso 75%. Faça um programa que calcula a nota final da
disciplina. Se a nota final for inferior a 7, o programa deve imprimir a mensagem: "Precisa de
nova prova". Caso contrário, imprime a mensagem: "Passou com nota x".
7. Faça um programa em C que receba uma data de nascimento e que calcule que idade a
pessoa terá em 01/01/2010.
8. Faça um programa em C que receba 10 valores inteiros e que indique: Quantos são pares,
quantos são ímpares, quantos são positivos e quantos são negativos.
10.Faça um programa que escreve na tela uma tabela de conversão de graus Celsius para
Fahrenheit. A tabela deve apresentar os graus Celsius de 0 a 40 com intervalos de 2 em 2.
11.Modifica o programa que calcula a área do círculo (exercício 3) de modo a que o programa
funcione interruptamente até o utilizador introduzir o valor zero para o raio. Nessa altura, o
programa deve dizer que a área é zero, e terminar com um "ByeBye".
12.Faça um programa que vai pedindo números ao utilizador até que este introduza o número -
1. O computador deve dizer a média dos números introduzidos (excluindo o -1).
16.Faça um programa que escreve na tela a mesma frase 10vezes. E depois faça com que o
programa mostre o número de cada linha no início e no final da linha, conforme ex:
1 Sou um programa C! 1
2 Sou um programa C! 2
3 Sou um programa C! 3
Adapte essa versão do programa para que a frase faça uma escada como no exemplo:
Sou um programa C!
Sou um programa C!
Sou um programa C!
2
Exercícios de C
19.Leia o nome e idade do usuário e exiba na tela: "O <fulano> tem <idade> anos", <fulano>
é o nome da pessoa e <idade> é a idade também fornecida pela pessoa.
20.Faça um programa que lê uma palavra e exiba cada caractere da palavra em uma linha.
23.Construa um algoritmo que receba três números inteiros e verifique qual o maior.
24.Construa um algoritmo que leia cinco números inteiros e identifique o maior e o menor.
25.Um aluno realizou 3 provas numa disciplina. Considerando o critério abaixo faca um
programa que mostre se ele ficou em exame. Qual nota que este aluno precisa tirar para
passar?
• media = (n1 + n2+ n3) / 3
• media deve ser >= 7. nova media final = (media + exame)/2
26.Uma livraria fez uma promoção para pagamento a vista, onde o comprador pode escolher
entre dois critérios de desc.
• critério a 0,25 por livro + 7,50 fixo
• critério b 0,5 por livro + 2,5 fixo
faca um programa em que o usuário digita a quantidade de livros que deseja comprar e o
programa diz qual a melhor opção de desconto.
27.Construa um algoritmo que receba a idade do usuário e verifique se ele tem mais de 21 anos.
28.Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a
“a” e substitua os que forem iguais a “a” por “b”. O programa deve imprimir o número de
caracteres modificados e a string modificada.
29. Escreva um programa que peça ao usuário que digite três números inteiros, correspondentes
a dia, mês e ano. Teste os números recebidos, e em caso de haver algum inválido, repita a
leitura até conseguir valores que estejam na faixa correta (dias entre 1 e 31, mês entre 1 e
12 e ano entre 1900 e 2100). Verifique se o mês e o número de dias batem. Se estiver tudo
certo imprima o número que aquele dia corresponde no ano. Comente seu programa.
30.Faça um programa que verifica se uma palavra é simétrica. Por exemplo, "arara" é uma
palavra simétrica (ler de trás para a frente e sempre obteremos a mesma palavra).
31.Faça um programa que obtenha do teclado o valor n e imprima na tela os n primeiros termos
de uma seqüência de Fibonacci.
Observação: Uma seqüência é dita de Fibonacci quando os dois primeiros termos forem 0 e 1 e
todos os termos consecutivos tenham valor igual à soma dos dois termos anteriores.
Exemplo: 0 – 1 – 1 – 2 – 3 – 5 – 8 – 13 – 21 – 34 – 55 . . .
32.Faça um programa que obtenha um número inteiro e informe se este número é ou não é um
número primo. Observação: Um número é dito primo quando ele é divisível somente por 1 e
por ele mesmo.
33.Faça um algoritmo que lê dois números ('h' e 'm'), representando horas e minutos, e calcula
o número de minutos passados desde as 0 horas.
3
Exercícios de C
34.Escreva um programa que pede para o usuário entrar um número correspondente a um dia
2008
da semana e que então apresente na tela o nome do dia. (utilize o comando “switch”).
35.Faça um programa que leia quatro palavras e armazene cada palavra em uma string. Depois,
concatene todas as strings lidas numa única string. Por fim apresente esta como resultado ao
final do programa.
37.Escreva um programa que leia uma linha de até 80 caracteres e imprima quantos caracteres
foram lidos.
38.Escreva um programa que leia uma linha de caracteres e imprima quantas vezes um
caractere aparece nesta linha. O programa também deve imprimir em que posições o
caractere foi encontrado.
39. Escreva um programa que leia uma linha e imprima todas as vogais encontradas no texto e o
total de vezes em que elas aparecem. Obs: Tamanho máximo da linha deve ser 40
caracteres.
40.Escreva um programa que leia uma linha de caracteres e converta o primeiro caractere de
cada palavra para maiúsculas. Assuma que as palavras são sempre separadas por um
branco.
41.Escreva um programa que leia para um vetor um conjunto de números inteiros. Assuma que
o conjunto de números lidos é menor que o tamanho do vetor. O programa deve inserir no
vetor em uma posição especificada pelo usuário um número lido do teclado. Assuma que a
posição especificada pelo usuário corresponde ao índice do vetor.
42.No Brasil existem as moedas e 1, 5, 10, 25 e 50 centavos, e notas de 1,2, 5, 10, 20, 50, 100
reais (desconsiderando a moeda de 1real). Faça um programa que dado um valor em reais,
mostre a menor combinação de notas e moedas existente para esse valor.
EX: R$18,67 1nota de 10reais, 1 nota de 5reais, 1 nota de 2reais, 1nota de 1real, 1 moeda de
50centavos, 1 moeda de 10centavos, 1moeda de 5centavos, 2 moedas de 1 centavo.
43.Elabore um algoritmo para converter um valor em horas e minutos num formato apenas em
minutos.
45.Faça um algoritmo que calcule os divisores de um número (o resto da divisão do número por
seu divisor é 0).
46.Faça um algoritmo que converte uma data no formato “dd-mm-aaaa” no formato “dd de mês
de aaaa”. Por ex. “20-04-1999” em “20 de março de 1999”.
47.Faça um algoritmo que converte um valor numérico em seu extenso. Por ex. 1234 em mil
duzentos e trinta e quatro.
48.Elabore um Algoritmo que implemente o jogo "hi-lo". A finalidade do jogo é que o utilizador
acerte num número entre 1 e 100, escolhido aleatoriamente pelo programa. A cada palpite
do utilizador, o programa deve responder indicando se este é inferior ou superior ao número
escondido. Quando o utilizador acertar, o programa deve dar-lhe os parabéns e indicar em
quantas jogadas acertou.
4
Exercícios de C
2008
49.Elabore um Algoritmo que permita ao utilizador jogar “Master Mind”; o programa deve gerar
aleatoriamente a combinação a descobrir, e depois responder a cada palpite do utilizador,
indicando o n.º de elementos certos na casa certa, e o n.º de elementos certos na casa
errada. O número de elementos e de cores a usar, deve ser pedido ao utilizador no início do
programa (os valores típicos são 4 e 6 respectivamente). O jogador deve ter a possibilidade
de desistir! Quando o utilizador acertar na combinação gerada, o programa deve indicar o n.º
de jogadas em que o fez.
50. Um cinema possui capacidade de 100 lugares e está sempre com ocupação total. Certo dia,
cada espectador respondeu a um questionário, no qual constava:
- sua idade;
- sua opinião em relação ao filme, seguindo as notas:
NOTA OPINIAO
A Ótimo
B Bom
C Regular
D Ruim
E Péssimo
Elabore um algoritmo que, lendo esses dados, calcule e imprima:
- a quantidade de respostas Ótimo;
- a diferença porcentual entre respostas Bom e Regular;
- a média de idade das pessoas que responderam Ruim;
- a porcentagem de respostas Péssimo e a maior idade que utilizou essa opção;
- a diferença de idade entre a maior idade que respondeu Ótimo e a maior idade que
respondeu Ruim.
51. Elabore um algoritmo que leia, some e imprima o resultado da soma entre dois vetores
inteiros de 50 posições.
52. Desenvolva um algoritmo que leia um vetor de 10posições e o coloque em ordem crescente.
53. Faça um algoritmo que leia um vetor de 30 elementos e gere um segundo vetor cujas
posições pares são o dobro do vetor original e as ímpares o triplo.
55. Faça um algoritmo que leia 10 elementos e ordene pelo método de ordenação por bolha
56. Faça um algoritmo que receba três valores que representarão os lados de um triângulo e
serão fornecidos pelo usuário. Verifique se os valores formam um triângulo e classifique esse
triângulo como: eqüilátero – três lados iguais; isósceles – dois lados iguais;escaleno – três
lados diferentes;
Lembre-se de que, para formar um triângulo: Nenhum dos lados pode ser igual a zero; Um
lado não pode ser maior do que a soma dos outros dois;
58. Escrever um algoritmo/programa em C que escreve os números pares entre 100 e 200.
59. Escrever um algoritmo/programa em C que escreve a soma dos números entre 0 e 100.
60. Escrever um algoritmo/programa em C que escreve a soma dos números pares entre 0 e
100.
5
Exercícios de C
2008
61.Escrever um algoritmo/programa em C que escreve a soma dos números múltiplos de 7 entre
100 e 200.
62. Escrever um algoritmo/programa em C que escreve a soma dos números que não são
múltiplos de 13 entre 100 e 200.
70. O programa deve encerrar quando for informado um valor fora dos intervalos.
74. Escrever um algoritmo/programa em C que escreve os números primos entre 100 e 200,
bem como a soma destes números.
81. Encontrar o aluno mais alto e o mais baixo e escrever seus números, suas alturas e uma
mensagem dizendo se é o mais alto ou o mais baixo.
87. Supondo que a população de um país A seja da ordem de 90.000.000 de habitantes com
uma taxa anual de crescimento de 3,1% e que a população de um país B seja de
200.000.000 de habitantes com uma taxa anua1 de crescimento de 1,5%, escrever um
algoritmo/programa em C que calcula quantos anos serão necessários para que a população
do país A ultrapasse a do país B, mantidas as taxas atuais de crescimento.
88. Faça um programa que lê um inteiro positivo n e imprime um triângulo constituído por
números com o seguinte formato.
6 5 4 3 2 1
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
89.Faça um programa que mostre a série de Fibonacci com a quantidade de elementos passados
pelo usuário.
91.Faça um programa que mostre os n primeiros números primos. (n passado pelo usuário).
7