1、jn+1;n+1i;i+)【4】 s+=1.0/t; 或 s= s + 1.0 /(float)t; 或 s= s + 1.0 /t; 或 s+=1.0/(float)t;11)/*- 判断m是否为素数,若是返回1,否则返回0。#include int m,k=0; for(m=1;m100;m+) if(fun(m)=1)%4d,m);k+; if(k%5=0) printf(n void fun( int n) int i,k=1; if(m=m-1;m-1=【3】 if( m%i = 0 ) k=0;【4】 return k;12)/*- 用下面的和式求圆周率的近似值。直到最后一项的绝对
2、值 小于等于0.0001。 1 1 1 = 1 - + - + . 4 3 5 7#include stdio.hfun() int i=1; int s=0,t=1,p=1; while(fabs(t)=1e-4) s=s+t; p=-p; i=i+2; t=p/i;pi=%dn,s*4); fun();【1】 #include math.h 或 #include 【2】 float s=0,t=1,p=1; 或 float s=0,p=1,t=1; 或 float p=1,s=0,t=1; 或 float p=1,t=1,s=0; 或 float t=1,p=1,s=0; 或 float
3、t=1,s=0,p=1;【3】 while(fabs(t)1e-4) 或 while(0.0001fabs(t) 或 while(1e-40.0001)【4】 printf(pi=%fn, s * 4 );13)/*- 求1到10的阶乘的和。 int i; float t,s=0; float fac(int n);10; s=fac(i);%fn,s);float fac(int n) int y=1; for(i=1 ; y=y*i; return;【1】 for(i=1;=10;1011;11【2】 s= s + fac(i) ; 或 s+=fac(i); 或 s=fac(i)+s;【3
4、】 float y=1.0; 或 float y=1;【4】 return y; 或 return(y); 或 return (y);14)/*- 求1到20的阶乘的和。 int n,j; float s=0.0,t=1.0; for(n=1;n=19;19【3】 f1=f2;【4】 f2=f3;16)/*- 根据整型形参m的值,计算如下公式的值。 t = 1- - - . - 2x2 3x3 mxm 例如:若m=5,则应输出:0.536389double fun(int m) double y=1.0; for(i=2;i-) y-=1/(i*i); int n=5;nthe result
5、is %lfn【1】 for(i=2;=m;m+1;1+m;m+11+m【2】 y-=1.0/(i*i); 或 y=y-1.0/(i*i); 或 y-=1.0/(float)(i*i); 或 y=y-1.0/(float)(i*i); 或 y=y-1.0/i/i; 或 y=y-1.0/(float)i/(float)i; 或 y=y-1/(double)(i*i); 或 y-=1/(double)(i*i);【3】 return y;18)/*- 计算并输出k以内最大的10个能被13或17整除的自然数之和。 k的值由主函数传入。若k的值为500,则函数值为4622。int fun(int k)
6、 int m=0,mc=0,j; while (k=2)|(mc10) if(k%13=0)|(k%17=0) m=m+k; mc+; k+; return ;%dn,fun(500);【1】 while ( (2=k) & (mc=2) &10) ) 或 while ( (2=9) )【2】 if(!( k%17!=0 | k%13!=0 ) 或 if( k%13=0 | k%17=0)【3】 k-; 或 k=k-1; 或 k-=1;【4】 return m; 或 return(m);19)/*- 计算正整数num的各位上的数字之积。输入252,则输出应该是20。long fun (long
7、 num) long k; do k*=num%10; num=10; while (num); return k; long n;nPlease enter a number: scanf(%ld, n);n%ldn,fun(long n);【1】 long k=1;【2】 num/=10; 或 num=num/10;【3】 scanf(20)/*- 已知一个数列从第0项开始的前三项分别为0、0、1,以 后的各项都是其相邻的前三项的和。下列给定程序中, 函数fun的功能是:计算并输出该数列的前n项的平方根 之和sum,n的值通过形参传入。当n=10时,程序的输出结果应为23.197745。f
8、un (int n) double sum,s0,s1,s2,s; int k; sum=0.0; if(nn;k+) s=s0+s1+s2; sum+=sqrt(s); s0=s1;s1=s2;s2=s; return sum;%lfn【1】 double fun (int n)【2】 sum=1.0; 或 sum=1;【3】 s2=1.0; 或 s2=1;【4】 for(k=4;k21)/*- 根据以下公式求值,并作为函数值返回。给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。 1 1 2 1 2 3 1 2 3 4 = 1 + + x + x x + x x x
9、 + .2 3 3 5 3 5 7 3 5 7 9double fun(double eps) double s,t; int n=1; s=0.0; t=1; while(teps) 或 while(eps=eps) 或 while(epseps) 或 while (eps=eps) 或 while (eps=t)【2】 t=t*n/(2*n+1); 或 1.0*n/(2*n+1)*t 或 n/(2*n+1.0)*t 或 n/(2.0*n+1)*t 或 n/(2.0*n+1.0)*t 或 1.0*n/(2.0*n+1.0)*t【3】 return 2 * s ; 或 return (2*s)
10、; 或 return(2*s); 或 return (s*2); 或 return(s*2);22)/*- 求出两个非零正整数的最大公约数,并作为函数值返回。若给num1和num2分别输入49和21,则输出的最大公约数为7。int fun(int a,int b) int r,t; if(ab) t=a; b=a; a=t; r=a%b; while(r!=0) a=b; b=r; r=a/b; return a; int num1,num2,a;%d%dnum1,&num2); a=fun(num1,num2);the maximum common divisor is %dnn,a);【1】 a=b;【2】 b=t;【3】 r=a%b;【4】 return b; 或 return (b); 或 return(b);26)/*- 找出大于m的最小素数,并将其作为函数值返回。int fun( int m) int i,k; for(i=m+1; for(k=1; /*F
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1