1.使用函数求素数和
#include <stdio.h>
#include <math.h>
int prime(int i);
int prime_sum(int m,int n);
int main()
{
int m,n,sum,i;
scanf("%d %d",&m,&n);
sum = prime_sum(m,n);
printf("Sum of ( ");
for(i=m;i<=n;i++)
{
if(prime(i)==1)
printf("%d ",i);
}
printf(") = %d\n",sum);
return 0;
}
int prime(int i)
{
int j,limit,m,n;
if(i==1)
{
return 0;
}
else if(i==2)
{
return 1;
}
else
{
limit = sqrt(i) + 1;
for(j=2;j<=limit;j++)
{
if(i%j==0)
{
break;
}
}
if(j<=limit-1)
{
return 0;
}
else
{
return 1;
}
}
}
int prime_sum(int m,int n)
{
int sum = 0;
for(m=2;m<=n;m++)
{
if(prime(m)==1)
{
sum += m;
}
}
return sum;
}
2.使用函数求余弦函数的近似值
#include <stdio.h>
#include <math.h>
double funcos(double eps, double x);
int main()
{
double eps, x;
scanf("%lf %lf",&eps, &x);
printf("cos(%.2f) = %.6f",x,funcos(eps,x));
return 0;
}
double funcos(double eps, double x)
{
double cos=0, _eps=1;
int flag=1,i=0,k=1;
while(_eps>=eps)
{
_eps = pow(x,i)/k;
cos += flag*pow(x,i)/k;
i += 2;
k *= i*(i-1);
flag = -flag;
}
return cos;
}
3.使用函数统计指定数字的个数
#include <stdio.h>
int countdigit(int number, int digit);
int main()
{
int number, digit;
scanf("%d %d",&number, &digit);
printf("Number of digit %d in %d: %d",digit,number,countdigit(number, digit));
return 0;
}
int countdigit(int number, int digit)
{
int count = 0;
if(number < 0)
number = -number;
if(number == 0)
{
if(number == digit) count++;
}
while(number > 0)
{
if((number%10) == digit) count++;
number /= 10;
}
return count;
}