java面试编程题算法_上机编程题算法实现精选

等级考试 2021-02-07 网络整理 可可

【shitiku.jxxyjl.com--等级考试】

、  编写函数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;}

本文来源:https://shitiku.jxxyjl.com/dengjikaoshi/1654.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计