c语言中primesum函数,c语言之函数

1:

//程序功能:从键盘上输入一个正整数n,求s=1 1/2! .... 1/n!的值(保留4位小数),要求:

// 定义并调用函数fact(n)计算n的阶乘。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int i,n;

double fact(int n);

double item,sum;

printf("输入一个正整数:");

scanf("%d",&n);

sum = 0;

for(i=1; i<=n; i )

{

item=1/fact(i);

sum =item;

}

printf("1 1/2! ... 1/%d!=%0.4f\n",n,sum);

return 0;

}

double fact(int n) //定义求n!的函数

{

double product;

product = 1;

int j;

for(j=1; j<=n; j )

product*=j;

return product;

}

2:

//程序功能:输入一个正整数n和一个实数x,按给定公式求cos(x)的近似值(保留4位小数)。要求:

// 定义并调用power(x,n)计算幂函数,定义并调用函数fact(n)计算n!。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int i,n,flag;

double x,item,sum;

double fact(int n);

double power(double x,int n);

printf("输入一个正整数n和一个实数x:");

scanf("%d%lf",&n,&x);

flag = 1;

sum = 0;

for(i=1; i<=n; i )

{

item = power(x,i)/fact(i);

sum =item;

flag = -flag;

}

printf("cos(x)的近似值=%0.4f\n",sum);

return 0;

}

double fact(int n) //定义阶乘函数

{

double product;

int i;

product = 1;

for(i=1; i<=n; i )

{

product*=i;

i ;

}

return product;

}

double power(double x,int n)

{

double pow;

int i;

pow = 1;

for(i=1; i<=n; i )

{

pow*=x;

i ;

}

return pow;

}

3:

//程序功能:输入两个正整数m和n,求m和n的最大公约数。

// 要求:定义并调用函数gys(m,n)求m和n的最大公约数。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int m,n,j;

int gys(int m,int n);

printf("输入两个正整数m和n:");

scanf("%d%d",&m,&n);

j = gys(m,n);

printf("%d与%d的最大公约数是%d\n",m,n,j);

return 0;

}

int gys(int m,int n) //定义求m和n的最大公约数函数

{

int j;

int a, b, c;

if(m>n)

c = n;

else

c=m;

for(j=c; j>0; j--)

{

a = m%j;

b = n%j;

if(a==0 && b==0)

break;

}

return j;

}

4:

//程序功能:输入两个正整数m和n,求m和n的最小公倍数。

// 要求:定义并调用函数gbs(m,n)求m和n的最小公倍数。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int m,n,j;

int gbs(int m,int n);

printf("输入两个正整数m和n:");

scanf("%d%d",&m,&n);

j = gbs(m,n);

printf("%d与%d的最小公倍数是%d\n",m,n,j);

return 0;

}

int gbs(int m,int n) //定义求m和n的最小公倍数函数

{

int temp,j,i;

if(m>n)

temp = n;

else

temp = m;

for(i=temp; i>0; i--)

{

if(m%i==0 && n%i==0)

break;

}

j = m*n/i;

return j;

}

5:

//程序功能:输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"。

// 要求:要求定义并调用函数prime(n)判断n是否为素数。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int n,flag;

int prime(int n);

printf("输入一个正整数n:");

scanf("%d",&n);

flag = prime(n);

if(flag==1)printf("YES\n");

else printf("NO\n");

return 0;

}

int prime(int n) //定义判定n是否素数的函数

{

int i,flag;

for(i=2; i

{

flag = n%i;

if(flag==0)

break;

}

return flag;

}

6:

//程序功能:输入两个正整数m和n(1<=m<=n<=500),统计并输出m到n之间的素数的个数以及这些素数的和。

// 要求:要求定义并调用函数prime(n)判断n是否为素数。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include "stdio.h"

void main()

{

int i,m,n;

int flag,count,sum;

int prime(int n);

printf("输入两个正整数m和n(1<=m<=n<=500):");

scanf("%d%d",&m,&n);

for(count=0,sum=0,i=m;i<=n;i )

{

flag=prime(i);

if(flag==1)

{

count ;

sum =i;

}

}

printf("%d到%d之间的素数个数=%d,素数和=%d\n",m,n,count,sum);

}

int prime(int n) //定义判定n是否素数的函数

{

int i,flag;

if(n==1)flag=0;

else flag=1;

for(i=2;i<=n/2;i )

if(n%i==0){flag=0;break;}

return flag;

}

7:

//程序功能:输入一个长整数m和一个数字d,统计并输出m中包含数字d的个数。

//要 求:定义并调用函数countdigit(m,d),统计整数m中包含数字d的个数。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include

int main(void)

{

int count,d;

long m;

int ck(long m, int d);

printf("输入一个长整数m和一个数字d: ");

scanf("%ld%d",&m,&d);

count = ck(m,d);

printf("%ld中包含数字%d的个数%d\n",m,d,count);

return 0;

}

int ck(long m, int d)

{

int digit,count;

count = 0;

while(m>0)

{

digit = m;

m/=10;

if(digit == d)

count ;

}

return count;

}

8:

//程序功能:输入两个正整数m和n(1<=m<=n<=1000),输出m到n之间所有满足各位数字的立方和

// 等于它本身的数, 并统计这些数的个数与总和。

//要 求:定义并调用函数is(number),判断number的各位数字之立方和是否等于它本身。

//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include "stdio.h"

void main()

{

int i, m, n;

int count,sum;

int is(int number);

printf("输入两个整数m和n: ");

scanf("%d%d", &m, &n);

int t;

if(m>n)

{

t = m;

m = n;

n = t;

}

count = 0;

sum = 0;

for(i=m; i<=n; i )

if(is(i)==1)

{

count ;

sum =i;

}

printf("\n%d到%d间满足条件的数的个数等于%d,累加和等于%d\n",m,n,count,sum);

}

int is(int number) //定义is(int number)函数

{

int temp,gw,result,sum;

sum = 0;

result = number;

while(number>0)

{

gw = number;

temp*=gw;

sum =temp;

number/=10;

if(sum == result)

result = 1;

else

result = 0;

}

return result;

}

9:

#include

int fib(int n);

int main(void)

{

int i, m, n;

printf("输入两个正数m和n的值(1<=m<=n<=10000):");

scanf("%d %d", &m, &n);

printf("第%d项第%d项的Fibonacci数是:\n");

for(i=m; i<=n; i )

printf("%d ", fib(i));

printf("\n");

return 0;

}

int fib(int n)

{

int fib;

int j;

int a[10000];

a[0]=1, a[1]=1;

for(j=2; j<=10000; j )

a[j] = a[j-1] a[j-2];

fib = a[n-1];

return fib;

}

10:

#include

int factorsum(int i);

int main(void)

{

int i;

int m, n;

printf("输入两个正整数m和n(1<=m<=n<=10000):");

scanf("%d %d", &m, &n);

printf("%d-%d之间所有的完数为:\n", m, n);

for(i=1; i<=n; i )

if(factorsum(i)==i)

printf("%d ",i);

printf("\n");

return 0;

}

int factorsum(int i)

{

int j, sum = 0;

for(j=1; j<=i/2; j )

if(i%j==0)

sum =j;

return sum;

}

11:

#include

int dectobin(int x);

int main(void)

{

int m;

int n;

printf("输入一个正整数n:");

scanf("%d", &n);

m = dectobin(n);

printf("十进制数%d的二进制数为:%d\n", n, m);

return 0;

}

int dectobin(int x)

{

int sum = 0;

int a[64];

int i, j;

for(i=0; ; i )

{

a[i]=x%2;

x/=2;

if(x<1)

break;

}

for(j=i; j>=0; j--)

sum = sum*10 a[j];

return sum;

}

小泥巴 2014/4/3 星期四 16:11

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值