|
||
|
||
| 、 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。 xn+1=cos(xn) 迭代步骤如下: (1)取 x1 初值为0.0; (2)x0 = x1,把x1的值赋给 x0; (3)x1 = cos(x0),求出一个新的x1; (4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执行步骤(2); (5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 double x1=0.0; do {x0=x1; x1=cos(x0); } while(fabs(x0-x1)>=0.000001); return x; 2、 编写函数double fun,它的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入。 1 1 1 1 1 S = ── - ── + ── - ── + … ───── 1 3 5 7 2n+1 int i,j=1;double s=0; for(i=0;i<=n;i++) {s=s+1.0/(2*i+1)*j;j=-j;} *sn=s; 3、 编写函数double fun,它的功能是:根据以下公式求P的值,结果由函数值带回。m与n 为两个正整数且要求m > n。 m! P = ───── n!(m-n)! double i=1,x=1,y=1,z=1,p=0; for(i=1;i<=m;i++) x=x*i; for(i=1;i<=n;i++) y=y*i; for(i=1;i<=(m-n);i++) z=z*i; p=x/(y*z); return p; 4、编写函数fun,它的功能是计算: s = [ln(1)+ln(2)+ ln(3)+...+ln(m)] 0.5 在C语言中可调用log ( n )函数求ln (n)。 log函数的引用说明是: double log(double x) double i,s=0; for(i=1;i<=m;i++) s=s+log(i); return sqrt(s); 5、 编写函数double fun(double h),它的功能是:四舍五入并保留两位小数 long int i,j=1; if(h<0) {j=-1;h=-h;} h=h*100+0.5; i=h; h=i/100.0; return h*j; 6、编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:当t = 1000时,函数值为:1597。 int i,f0=0,f1=1,f2=f0+f1; while(f2<=t) {f0=f1;f1=f2;f2=f0+f1;} return f2; 7、编写函数fun,它的功能是:求出1000以内能被7或11整除,但不能同时被7和11整除的数,存放到数组xx中,通过函数名返回个数。 int i,j=0; for(i=1;i<1000;i++) if((i%7==0||i%11==0)&&i%77!=0) xx[j++]=i; return j; 8、 fun的功能是:将s所指字符串中的内容从小到大重新排列 int i,j;char t; for(i=0;i<strlen(s);i++) for(j=i;j<strlen(s);j++) if(s[j]<s[i]) {t=s[i];s[i]=s[j];s[j]=t;} 9、 fun(int s[],int n)的功能是:将s数组中的n个数从大到小重新排列 int i,j,t; for(i=0;i<n;i++) for(j=i;j<n;j++) if(s[j]>s[i]) {t=s[i];s[i]=s[j];s[j]=t;} 10、 函数fun的功能是:将s所指字符串中内容倒序 int i,j=strlen(s);char t; for(i=0;i<j/2;i++) {t=s[i];s[i]=s[j-1-i];s[j-1-i]=t;} |
||