编写程序,通过函数求6 –300以内的素数的和。
#include <stdio.h>
#include <math.h>
void main( )
{int i,sum=0;
intper(int);
for(i=6;i<=300;i++)
sum=sum+per(i);
printf("SUM=%d\n",sum);
}
int per(int n)
{ int k,i;
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
return n;
else
return 0;
}
/* 8265*/
二、求sin300。+sin600+cos300+cos600之和。(自编sin和cos函数)
#include <stdio.h>
#include <math.h>
#define PI 3.14159
void main( )
{ float y,x30,x60;
float sin1(float);
float cos1(float);
x30=30*PI/180;
x60=60*PI/180;
y=sin1(x30)+cos1(x30)+sin1(x60)+cos1(x60);
printf("SUM=%f\n",y);
}
float sin1( float x)
{ float sum=0,t=x;
inti=1,f=1;
do{
sum=sum+t;
i=i+2;
f=-f;
t=t*f*x*x/(i*(i-1));
}while(fabs(t)
>1e-6);
return sum;
}
float cos1(float x)
{ float sum=0,t=1;
inti=0,f=1;
do{
sum=sum+t;
i=i+2;
f=-f;
t=t*f*x*x/(i*(i-1));
}while(fabs(t)>1e-6);
return sum;
}
/*SUM=2.608201*/
三 、编写函数,求级数S=1+2+3+...n,并在主函数中求:
#include <stdio.h>
int f(int);
void main( )
{ float s;
s=(float)(f(3)+f(4)+f(5))/(f(5)+f(6)+f(7));
printf("SUM=%f\n",s);
}
int f(int a)
{int sum=0,i;
for(i=1;i<=a;i++)
sum=sum+i;
return sum;
}
/* SUM=0.484375*/