Você está na página 1de 3

Instituto Federal de Pernambuco

Linguagem de Programação

Lista de Exercícios 2

Questão 1 - Limitando o tamanho das strings lidas em função do tamanho das variáveis.

#include <stdio.h>

int main() {
char cpf[12]; //Atente-se à separação de um espaço da string para o '\0'

printf("Digite o CPF:\n");
scanf(" %s", cpf);
printf("%s", cpf);

return 0;
}

O código acima possui um erro, mesmo que tenhamos definido a string “cpf” com apenas 11
caracteres (+1 para o \0), se digitarmos um número que ultrapasse esse limite o valor impresso na
tela ao final da execução contém também os números excedentes. Corrija-o a fim de que sejam
recebidos APENAS os 11 números do CPF.

Questão 2 - Faça um programa que receba 3 entradas correspondentes a lados de triângulos e


decida se o mesmo é isósceles ou equilátero.

Questão 3 - Analise o programa abaixo. O que o programa vai imprimir na tela? Tente prever o
valor da variável d para saber. Depois modifique o código para conferir sua resposta.

#include<stdio.h>
int main() {
int a=5, b=1, c=0, d;
d = ++a && b-- || c++;
if (d != 0) {
printf("True\n");
}
else {
printf("False\n");
}
return 1;
}

Questão 4 – Faça um programa que lê três números digitados pelo usuário. O programa deve
apresentar os três números em ordem decrescente. Utilize if-else aninhados.

Questão 5 - Escreva um programa que recebe um número de 1 a 7 e imprime o dia da semana


correspondente utilizando switch (avise ao usuário caso ele digite um número menor que 1 ou
maior que 7).

Questão 6 - Crie um programa para determinar se um número, entre 1 e 10, digitado pelo usuário
é par ou ímpar utilizando switch e somente dois breaks.

Questão 7 - Refaça o programa abaixo utilizando operador ternário ( ? : )

#include<stdio.h>
int main (){
int a,b;
scanf("%d %d", &a, &b);
if (a>b){
printf("%d\n", a);
}
else {
printf("%d\n", b);
}
return 0;
}
Questão 8 - Laço for - Faça um programa que receba um número inteiro e crie uma pirâmide
como exemplificado abaixo (exemplos recebendo 3, 4 e 5):

n=3 n=4 n=5


*** **** *****
** *** ****
* ** ***
* **
*

Questão 9 - Laço while – Faça um programa que leia um valor inteiro. A seguir, calcule o menor
número de notas possíveis (cédulas) no qual o valor pode ser decomposto usando laços “while”.
As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1.

Questão 10 - Laço do-while - Qual a diferença entre o laço “while” e “do-while”? Faça um
programa que imprima na tela a tabuada de multiplicação dos números de 1 até 10. O programa
deve exibir o resultado das multiplicações de 1x1, 1x2, ... até 1x10, pedir para o usuário
pressionar uma tecla, e recomeçar com 2x1, 2x2, ... até 2x10, pedir novamente para teclar algo e
seguir assim sucessivamente até chegar em 10x10. Use o comando Do-While.

Questão 11 - Laços aninhados – Faça um programa que receba um número inteiro n do usuário e
imprima todos os números primos de 1 a n.

Você também pode gostar