Faça um programa que preencha um vetor de tamanho 100 com os 100 primeiros naturais que não são múltiplos de 7 ou que terminam com 7 .

Passo 1

A questão pede um programa que preencha um vetor de tamanho 100 com os 100 primeiros números naturais que não sejam múltiplos de 7 nem terminem com dígito 7. O conteúdo principal aqui é o uso de laços de repetição e verificação de condições com o operador módulo.

Passo 2

Vamos declarar um vetor inteiro de tamanho 100, um contador para quantos valores já colocamos no vetor e uma variável para testar cada número natural, começando em 1.
Enquanto o contador for menor que 100, testamos o número atual: usamos n bmod 7 neq 0 para garantir que não seja múltiplo de 7 e n bmod 10 neq 7 para garantir que não termine com 7. Se os dois testes passarem, armazenamos no vetor e incrementamos o contador.
Após cada teste (independente de ter inserido ou não), incrementamos o número atual para testar o próximo natural.
Quando o vetor estiver cheio (contador == 100), fazemos um laço para imprimir todos os 100 valores armazenados.

Passo 3

O programa completo em C fica assim:

Resposta

#include <stdio.h>
int main() {
int vet[100];
int count = 0;
int n = 1;
// Preenche o vetor com os 100 primeiros números naturais válidos
while (count < 100) {
    // testa se não é múltiplo de 7 e não termina com 7
    if (n % 7 != 0 && n % 10 != 7) {
        vet[count] = n;
        count++;
    }
    n++;
}

// Imprime os valores do vetor
for (int i = 0; i < 100; i++) {
    printf("%d\n", vet[i]);
}

return 0;
}

Exercícios relacionados