Boa noite!!!
Estou fazendo o seguinte exercicio na linguagem C:
Uma função que devolve os números de divisores que x tem.
Estou com dúvida porque quando eu rodo o meu programa ele aparece várias vezes o número 1 como se estivesse em loop …alguem pode me ajudar com relação a isto.
Agradeço desde já.
#include <stdio.h>
#include <stdlib.h>
int divisores(int num);
int main(int argc, char *argv[])
{
int num, div;
printf("Digite um numero:\n");
scanf("%d",&num);
div=divisores(num);
printf("O numero possui %d divisores\n",div);
system("PAUSE");
return 0;
}
//Funcao
int divisores(int num)
{
int i,q,j,div=0,soma;
for(i=1; i<=num;i++)
{
if(num%i==0)
{
div++;
}
for(j=1;j<=i;j++)
{
q=num/j;
}
printf("Os divisores sao:%d\n",q);
}
return div;
}