Exercícios Avançados de Programação em C

Questão 1

O programa deve ler um vetor de 10 números inteiros e imprimi-lo na ordem inversa à que foi digitada.

#include <stdio.h> int main() { int vetor[10]; for (int i = 0; i < 10; i++) { printf("Digite o %dº número: ", i + 1); scanf("%d", &vetor[i]); } printf("\nVetor na ordem inversa:\n"); for (int i = 9; i >= 0; i--) { printf("%d ", vetor[i]); } printf("\n"); return 0; }

Questão 2

O programa deve preencher um vetor de 10 números inteiros. Em seguida, pedir um número ao usuário e dizer se esse número está ou não no vetor.

#include <stdio.h> int main() { int vetor[10], busca, achou = 0; for (int i = 0; i < 10; i++) { printf("Preencha a posição %d: ", i); scanf("%d", &vetor[i]); } printf("Digite um número para buscar: "); scanf("%d", &busca); for (int i = 0; i < 10; i++) { if (vetor[i] == busca) { achou = 1; break; } } if (achou) printf("O número está no vetor!\n"); else printf("O número NÃO está no vetor.\n"); return 0; }

Questão 3

O programa deve armazenar a temperatura média dos 7 dias da semana em um vetor e exibir qual foi a maior e a menor temperatura registrada.

#include <stdio.h> int main() { float temp[7], maior, menor; printf("Digite a temperatura do dia 1: "); scanf("%f", &temp[0]); maior = menor = temp[0]; for (int i = 1; i < 7; i++) { printf("Digite a temperatura do dia %d: ", i + 1); scanf("%f", &temp[i]); if (temp[i] > maior) maior = temp[i]; if (temp[i] < menor) menor = temp[i]; } printf("Maior temperatura: %.1f°C\nMenor: %.1f°C\n", maior, menor); return 0; }

Questão 4

O programa deve receber a nota de 10 alunos em um vetor, calcular a média geral da turma e exibir quantos alunos ficaram acima dessa média.

#include <stdio.h> int main() { float notas[10], soma = 0, media; int acima = 0; for (int i = 0; i < 10; i++) { printf("Nota do aluno %d: ", i + 1); scanf("%f", ¬as[i]); soma += notas[i]; } media = soma / 10; for (int i = 0; i < 10; i++) { if (notas[i] > media) acima++; } printf("Média da turma: %.2f\nAlunos acima da média: %d\n", media, acima); return 0; }

Questão 5

O programa deve ler uma palavra (string) e conter quantas vogais (A, E, I, O, U) existem dentro dela.

#include <stdio.h> int main() { char palavra[50]; int vogais = 0; printf("Digite uma palavra: "); scanf("%s", palavra); for (int i = 0; palavra[i] != '\0'; i++) { char c = palavra[i]; if (c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U') { vogais++; } } printf("A palavra possui %d vogais.\n", vogais); return 0; }

Questão 6

O programa deve ler uma palavra (string) do usuário e exibi-la de trás para frente.

#include <stdio.h> #include <string.h> int main() { char palavra[50]; printf("Digite algo: "); scanf("%s", palavra); int tam = strlen(palavra); printf("Invertido: "); for (int i = tam - 1; i >= 0; i--) { printf("%c", palavra[i]); } printf("\n"); return 0; }

Questão 7

O programa deve criar uma matriz de 3 linhas e 3 colunas, lê-la do teclado e exibir a soma de todos os seus elementos.

#include <stdio.h> int main() { int matriz[3][3], soma = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("Digite o valor para [%d][%d]: ", i, j); scanf("%d", &matriz[i][j]); soma += matriz[i][j]; } } printf("Soma total da matriz: %d\n", soma); return 0; }

Questão 8

O programa deve gerar uma matriz quadrada 4x4 e imprimir somente os valores que pertencem à Diagonal Principal.

#include <stdio.h> int main() { int m[4][4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { printf("Matriz [%d][%d]: ", i, j); scanf("%d", &m[i][j]); } } printf("\nDiagonal Principal:\n"); for (int i = 0; i < 4; i++) { printf("%d ", m[i][i]); } printf("\n"); return 0; }

Questão 9

O programa deve ler uma matriz de 2 linhas e 3 colunas e gerar a sua respectiva matriz transposta (3 linhas e 2 colunas).

#include <stdio.h> int main() { int original[2][3], transposta[3][2]; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { printf("Posição [%d][%d]: ", i, j); scanf("%d", &original[i][j]); transposta[j][i] = original[i][j]; } } printf("\nMatriz Transposta (3x2):\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { printf("%d ", transposta[i][j]); } printf("\n"); } return 0; }

Questão 10

O programa deve comparar a senha digitada pelo usuário com uma chave mestra pré-definida usando a função "strcmp".

#include <stdio.h> #include <string.h> int main() { char chaveMestra[] = "textcoder123"; char tentative[30]; printf("Digite a senha secreta de acesso: "); scanf("%s", tentative); if (strcmp(tentativa, chaveMestra) == 0) { printf("Acesso Concedido! Bem-vindo.\n"); } else { printf("Senha Incorreta. Acesso Negado.\n"); } return 0; }
← Voltar à página inicial