function质数问题
int
isPrime(int n)那部分好像不行,输入3,30,只打印3, 后面就通不过,大侠们帮忙看看啊,#include<stdio.h>
#include <conio.h>
#include <math.h>
int isPrime(int);
int findPrime (int, int ) ;
int findSquare(int,int);
int sum;
int main (void)
{
int x,y,sumPrime;
printf("Enter two numbers\n");
scanf("%d %d",&x,&y);
while(x <= y)
{
printf("Prime: ");
sumPrime=findPrime( x, y);
printf("\nSquare: ");
findSquare(x,y);
printf("\nsum of all primes and squares:%d",sum);
printf("\nEnter two numbers");
scanf("%d %d",&x,&y);
}
return 0;
}
int findPrime (int a, int b )
{
int sumPrime=0,c=0;
while(a<=b)
{
if(isPrime(a))
{
printf(
"%d ",a);c++;
sumPrime+=a;
a++; }
}
printf("\nPrime count = %d\n",c); return 0 ;}
int
isPrime(int n){
int i;for(i=2;i<n;i++) if(n%i==0) return 0;
return 1;
}
int
findSquare ( int a,int b){
int i,t,c=0,sumSquare = 0;for(i=2; i*i<=b;i++)
{
printf(
"%d ", i*i);c++;
sumSquare+=i*i;
}
printf(
"\nsumsquare is %d",sumSquare);printf(
"\nSquare count = %d\n",c); return sumSquare;}