就业数据资源平台
当前位置:首页 > 网络技术
2013年计算机等级考试三级网络技术上机考试精选题1

☆题目1(迭代方法求方程题)


下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程: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的一个实根,作为函数值返回。


 请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。


  float countValue()


{ float x0,x1;


  x1=0.0;


  do{ x0=x1;


      x1=cos(x0);


    }while(fabs(x0-x1)>=0.000001);


  return x1;


}


注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。


****************************************************************************


★题目2(平方根问题)


请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。


    例如若n为1000时,函数值应为:s=153.909064。



double countValue(int n)


{ int i;


  double s=0.0;


  for(i=1;i

    if(i!==0) s+=i;


  return sqrt(s);


}


实例如下:


#include 


#include 


double countValue(int n)


{ int i;


  double s=0.0;


  for(i=1;i

    if(i!==0) s+=i;


  return sqrt(s);


}


s=s+i


s+=i;



void main()


{


/*


请编写函数countValue(),它的功能是:


求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,


并作为函数值返回,最后结果s输出到文件out.dat中。


    例如若n为1000时,函数值应为:s=153.909064。


int sum,i,n;


double s;


n=1000;


sum=0;


for(i=7;i

if(i%3==0&&i%7==0)


sum=sum+i;


s=sqrt(sum);


printf("%f\n",s);




*/中华考试网


double s;


s=countValue(1000);


printf("%f\n",s);


}



*********************************************************************


题目3 (实数运算题)


已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求:


1、求出这N个实数的平均值aver;


2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。


    注意:部分源程序已给出。


  void CalValue(void) 


{int i;


 for (i=0;i

 {sumint+=(long)xx[i];


  sumdec+=xx[i]-(long)xx[i];


  aver+=xx[i];


  }


 aver/=N;


}


****************************************************************************


题目4(完全平方数问题)


下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。


    请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。


 int jsValue(int bb[])


{int i,j,k=0;转自:考试网 - [Examw.Com]


 int hun,ten,data;


 for(i=10;i<32;i++)


  {j=I*I;


hum=j/100;


ten=j0/10;


data=j;


if(hum==ten||hum==data||ten==data)


bb[k++]=j;}


return k;


}


*****************************************************************


★题目5 (回文数问题)


下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。


int jsValue(long n)


{int i,strl,half;


 char xy[20];


 ltoa(n,xy,10); /*注意这里不能使用itoa()函数,因为n是long 型的*/


 strl=strlen(xy);


 half=strl/2;


 for(i=0;i

  if(xy[i]!=xy[--strl]) break;


  if(i>=half) return 1;


  else return 0;


}


 


或者下面的解法:


int jsValue(long n)


{long int s=0,k;


 k=n;


 while(k)


  { s=s*10+k;


    k/=10;


  }


 if(s==n) return 1;


 if(s!=n) return 0;


}


 


输出结果为:


m=  11,m*m=   121,m*m*m=    1331 


m= 101,m*m= 10201,m*m*m= 1030301 


m= 111,m*m= 12321,m*m*m= 1367631 

就业数据资源平台