# Calculate a firsts numbers

I have a program but this don't work, this programe had to calculate a firsts numbers of a serie, thanks.

#include <stdio.h>
#include <string.h>
#include <math.h>
void main()
{
char c[255];
long int m=1,cont1,cont2,b=2;
printf("\n Tria si vols imprimir una llista de nombre parells,\n o una llista de nombres primers: ");
scanf("%s",&c);
printf("\nIntrodueix el primer numero de la serie: ");
scanf("%ld",&cont1);
printf("\nIntrodueix el segon numero de la serie: ");
scanf("%ld",&cont2);
if (!strcmp (c,"primers")){
while (cont1<cont2){
while ((b>(cont1/2)) && (m!=0)){
if((cont1%b)!=0) b=b+1;
if((cont1%b)==0) m=0;
}
if (m==0){
printf("\nEl nombre %ld és primer",cont1);
m=1;
}
++cont1;
}
}
if (!strcmp (c,"parells")){
if((cont1%2)!=0) ++cont1;
while (cont1<cont2){
printf("%ld\n", cont1);
++cont1;
++cont1;
}
if((cont2/2)==0) printf("%ld",cont2);
}
}
###### Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Is this homework? I guess yes, so I give just hints:
put the line
printf ("%d %d %d\n", cont1, b, m);
after while (cont1<cont2) and look whether the values are as you expect.

Another thing:

if (test != 0) do1;
if (test == 0) do2;

can be rewritten as

if (test != 0)
do1;
else
do2;
0

Experts Exchange Solution brought to you by