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 para garantir que não seja múltiplo de 7 e
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.
Enquanto o contador for menor que 100, testamos o número atual: usamos
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;
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;
}