Devo fazer um programa que peça ao usuário valores, para serem armazenados em um vetor de tamanho 5. Após, deve aparecer quais valores são pares, ímpares e primos.
o meu está dando erro nos números primos, por exemplo, quando se digita 1; 2; 3; 4; 5, aparece que 5 não é um número não primo, o que está errado. Gostaria de ajuda para entender no que estou errando.
#include<stdio.h>
#define TAM 5
int main()
{
int vec_int[TAM];
int a, i, s, d = 0, r;
float m;
for(a = 0; a < TAM; a++)
{
printf("Digite um número: ");
scanf("%d", &vec_int[a]);
}
for(a = 0; a < TAM; a++) //números pares e ímpares
{
if (vec_int [a] % 2 == 0)
printf("\n%d é par", vec_int[a]);
else
printf("\n%d é ímpar", vec_int[a]);
}
for (a = 0; a < TAM; a++) //números primos
{
for (i = 2; i <= (vec_int[a] / 2); i++)
if (vec_int[a] % i == 0){
d++;
}
if (d == 0)
printf("\n%d é um número primo", vec_int[a]);
else
printf("\n%d não é um número primo", vec_int[a]);
}
}