Disciplina: Introdução a Programação Estruturada em C
Profª Danielle Amorim
Lista de Exercícios – Linguagem C
(String, Estrutura de Decisão, Estrutura de Repetição e Vetor)
• Crie um algoritmo que leia três palavras e mostre o tamanho de cada uma.
• Peça o primeiro nome e o sobrenome em variáveis separadas. Utilize a função strcat (ou
lógica manual) para juntar os dois em uma terceira variável chamada nome_completo e
exiba o resultado com um espaço entre eles.
• Faça um algoritmo que leia o peso (kg) e a altura (m) do usuário. Calcule o IMC e informe a
classificação (Abaixo do peso, Peso normal, Sobrepeso ou Obesidade) de acordo com a
tabela da OMS. O IMC (Índice de Massa Corporal) é calculado dividindo o peso (em kg) pela
altura ao quadrado (em metros): Por exemplo, para alguém com 70 kg e 1,80 m, o cálculo é:
(70 / (1,80x 1,80) = 21,6.
• Peça ao usuário um número inteiro e gere a tabuada desse número de 1 a 10 utilizando um
laço for.
• Média de Idades: Crie um programa que leia a idade de várias pessoas até que seja digitado
o número 0. Ao final, exiba a média das idades digitadas e o total de pessoas cadastradas.
• Faça um algoritmo que leia um número (de 1 a 10) e retorne o seu nome por extenso. Ex. 1
= um, 2, = dois ....
• Usando o do-while, crie um algoritmo que peça uma nota de 0 a 10. Se o usuário digitar um
valor fora desse intervalo, o programa deve exibir "Nota inválida" e pedir para digitar
novamente até que um valor correto seja inserido.
• Faça um algoritmo em C que receba a idade de 8 pessoas e mostre quantas são maiores
que 18 anos.
• Construir um algoritmo que calcule a média aritmética de vários valores inteiros positivos,
lidos externamente. O final da leitura acontecerá quando for lido o valor zero (0).
• Escreva um algoritmo que calcule a média dos números digitados pelo usuário, somente se
eles forem pares. Termine a leitura se o usuário digitar zero (0).
• Desenvolva um algoritmo que leia 10 números inteiros e guarde-os em um vetor. No final,
mostre quais são os números menores que 5 e em que posições eles estão armazenados.
• Crie um programa que leia 8 valores reais em um vetor e calcule a média aritmética de
todos os elementos.
• Crie um algoritmo que leia dois vetores de 5 elementos cada e gere um terceiro vetor que
seja a soma dos elementos de mesma posição.
1
#include <stdio.h>
int main() {
char palavra1[100], palavra2[100], palavra3[100];
int tam1 = 0, tam2 = 0, tam3 = 0;
int i;
printf("Digite a palavra 1: ");
scanf("%s", palavra1);
printf("Digite a palavra 2: ");
scanf("%s", palavra2);
printf("Digite a palavra 3: ");
scanf("%s", palavra3);
for (i = 0; palavra1[i] != '\0'; i++) {
tam1 = tam1 + 1;
}
for (i = 0; palavra2[i] != '\0'; i++) {
tam2 = tam2 + 1;
}
for (i = 0; palavra3[i] != '\0'; i++) {
tam3 = tam3 + 1;
}
printf("Tamanho de '%s': %d\n", palavra1, tam1);
printf("Tamanho de '%s': %d\n", palavra2, tam2);
printf("Tamanho de '%s': %d\n", palavra3, tam3);
return 0;
}
2
#include <stdio.h>
#include <string.h>
int main() {
char primeiro_nome[50];
char sobrenome[50];
char nome_completo[100];
printf("Digite seu primeiro nome: ");
scanf("%s", primeiro_nome);
printf("Digite seu sobrenome: ");
scanf("%s", sobrenome);
strcpy(nome_completo, primeiro_nome);
strcat(nome_completo, " ");
strcat(nome_completo, sobrenome);
printf("Nome completo: %s\n", nome_completo);
return 0;
}
3
#include <stdio.h>
#include <stdlib.h>
int main() {
float peso;
float altura;
float imc;
printf("Digite seu peso (kg): ");
scanf("%f", &peso);
printf("Digite sua altura (m): ");
scanf("%f", &altura);
imc = peso / (altura * altura);
printf("\nSeu IMC e: %.2f\n", imc);
if (imc < 18.5) {
printf("Classificacao: Abaixo do peso\n");
} else if (imc < 25.0) {
printf("Classificacao: Peso normal\n");
} else if (imc < 30.0) {
printf("Classificacao: Sobrepeso\n");
} else {
printf("Classificacao: Obesidade\n");
}
return 0;
}
4
#include <stdio.h>
int main() {
int numero;
int i;
int resultado;
printf("Digite um numero inteiro: ");
scanf("%d", &numero);
printf("\n");
for (i = 1; i <= 10; i++) {
resultado = numero * i;
printf("%d x %d = %d\n", numero, i, resultado);
}
return 0;
}
5
#include <stdio.h>
int main() {
int idade;
int total_pessoas = 0;
int soma_idades = 0;
float media;
printf("Digite as idades (digite 0 para encerrar)\n");
printf("------------------------------------------\n");
printf("Digite uma idade: ");
scanf("%d", &idade);
while (idade != 0) {
soma_idades = soma_idades + idade;
total_pessoas = total_pessoas + 1;
printf("Digite uma idade: ");
scanf("%d", &idade);
}
if (total_pessoas == 0) {
printf("\nNenhuma idade foi cadastrada!\n");
} else {
media = (float) soma_idades / total_pessoas;
printf("\n------------------------------------------\n");
printf("Total de pessoas cadastradas: %d\n", total_pessoas);
printf("Media das idades: %.2f anos\n", media);
}
return 0;
}
6
#include <stdio.h>
int main() {
int numero;
printf("Digite um numero de 1 a 10: ");
scanf("%d", &numero);
if (numero == 1) {
printf("Um\n");
} else if (numero == 2) {
printf("Dois\n");
} else if (numero == 3) {
printf("Tres\n");
} else if (numero == 4) {
printf("Quatro\n");
} else if (numero == 5) {
printf("Cinco\n");
} else if (numero == 6) {
printf("Seis\n");
} else if (numero == 7) {
printf("Sete\n");
} else if (numero == 8) {
printf("Oito\n");
} else if (numero == 9) {
printf("Nove\n");
} else if (numero == 10) {
printf("Dez\n");
} else {
printf("Numero invalido! Digite apenas de 1 a 10\n");
}
return 0;
}
7
#include <stdio.h>
int main() {
float nota;
do {
printf("Digite uma nota de 0 a 10: ");
scanf("%f", ¬a);
if (nota < 0 || nota > 10) {
printf("Nota invalida! Tente novamente.\n\n");
}
} while (nota < 0 || nota > 10);
printf("\nNota digitada: %.1f\n", nota);
return 0;
}
8
#include <stdio.h>
int main() {
int idade;
int contador_maiores = 0;
int i;
printf("Digite a idade de 8 pessoas:\n");
printf("---------------------------------\n");
for (i = 1; i <= 8; i++) {
printf("Pessoa %d: ", i);
scanf("%d", &idade);
if (idade > 18) {
contador_maiores = contador_maiores + 1;
}
}
printf("\n---------------------------------\n");
printf("Total de maiores de 18 anos: %d\n", contador_maiores);
return 0;
}
9
#include <stdio.h>
int main() {
int numero;
int soma = 0;
int total = 0;
float media;
printf("Digite os valores (digite 0 para encerrar)\n");
printf("-------------------------------------------\n");
printf("Digite um numero: ");
scanf("%d", &numero);
while (numero != 0) {
soma = soma + numero;
total = total + 1;
printf("Digite um numero: ");
scanf("%d", &numero);
}
if (total == 0) {
printf("\nNenhum valor foi digitado!\n");
} else {
media = (float) soma / total;
printf("\n-------------------------------------------\n");
printf("Total de valores digitados: %d\n", total);
printf("Media aritmetica: %.2f\n", media);
}
return 0;
}
10
#include <stdio.h>
int main() {
int numero;
int soma = 0;
int total_pares = 0;
float media;
printf("Digite os valores (digite 0 para encerrar)\n");
printf("-------------------------------------------\n");
printf("Digite um numero: ");
scanf("%d", &numero);
while (numero != 0) {
if (numero % 2 == 0) {
soma = soma + numero;
total_pares = total_pares + 1;
}
printf("Digite um numero: ");
scanf("%d", &numero);
}
if (total_pares == 0) {
printf("\nNenhum numero par foi digitado!\n");
} else {
media = (float) soma / total_pares;
printf("\n-------------------------------------------\n");
printf("Total de numeros pares: %d\n", total_pares);
printf("Media dos numeros pares: %.2f\n", media);
}
return 0;
}
11
#include <stdio.h>
int main() {
int numeros[10];
int i;
printf("Digite 10 numeros inteiros:\n");
printf("----------------------------\n");
for (i = 0; i < 10; i++) {
printf("Numero %d: ", i + 1);
scanf("%d", &numeros[i]);
}
printf("\n----------------------------\n");
printf("Numeros menores que 5:\n\n");
for (i = 0; i < 10; i++) {
if (numeros[i] < 5) {
printf("Numero %d esta na posicao %d\n", numeros[i], i);
}
}
return 0;
}
12
#include <stdio.h>
int main() {
float numeros[8];
float soma = 0;
float media;
int i;
printf("Digite 8 valores:\n");
printf("------------------\n");
for (i = 0; i < 8; i++) {
printf("Valor %d: ", i + 1);
scanf("%f", &numeros[i]);
}
for (i = 0; i < 8; i++) {
soma = soma + numeros[i];
}
media = soma / 8;
printf("\n------------------\n");
printf("Media aritmetica: %.2f\n", media);
return 0;
}
13
#include <stdio.h>
int main() {
int vetor1[5];
int vetor2[5];
int vetor3[5];
int i;
printf("Digite os valores do primeiro vetor:\n");
printf("-------------------------------------\n");
for (i = 0; i < 5; i++) {
printf("Valor %d: ", i + 1);
scanf("%d", &vetor1[i]);
}
printf("\nDigite os valores do segundo vetor:\n");
printf("-------------------------------------\n");
for (i = 0; i < 5; i++) {
printf("Valor %d: ", i + 1);
scanf("%d", &vetor2[i]);
}
for (i = 0; i < 5; i++) {
vetor3[i] = vetor1[i] + vetor2[i];
}
printf("\n-------------------------------------\n");
printf("Vetor resultante da soma:\n\n");
for (i = 0; i < 5; i++) {
printf("Posicao %d: %d + %d = %d\n", i, vetor1[i], vetor2[i], vetor3[i]);
}
return 0;
}