当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
09年计算机三级上机题库练习及答案(3)
发布时间:2009/9/27 17:33:29 来源:城市学习网 编辑:admin

  编写函数jsValue(),它的功能是:求Fibonacci数列中大于t的最小一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
  F(0)=0,F(1)=1
  F(n)=F(n-1)+F(n-2)
  最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out5.dat中。
  例如:当t=1000时,函数值为:1597。
  部分程序已经给出。
  请勿改动主函数main()和写函数writeDat()的内容。
  #include
  int jsValue(int t)
  {
  }
  main()
  {int n;
  n=1000;
  printf("n=%d,f=%d\n",n,jsValue(n));
  writeDat();
  }
  writeDat()
  {
  FILE *in,*out;
  int i,n,s;
  in=fopen("in5.dat","r");
  out=fopen("out5.dat","w");
  for(i=0;i<50;i++)
  {
  fscanf(in,"%d",&n);
  s=jsValue(n);
  printf("%d\n",s);
  fprintf(out,"%d\n",s);
  }
  fclose(in);
  fclose(out);
  }

  下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;该整数既是完全平方数,又有两个数字相同,例如144、676等。
  请编制函数jsValue()实现此功能,满足该条件的整数的个数是通过所编制的函数返回。
  最后调用函数writeDat()把结果输出到文件out7.dat中。
  请勿改动主函数main()和写函数writeDat的内容。
  #include
  jsValue(int bb[])
  {
  }
  main()
  {
  int b[20],num;
  num=jsValue(b);
  writeDat(num,b);
  clrscr();
  }
  writeDat(int num,int b[])
  {
  FILE *out;
  int i;
  out=fopen("out7.dat","w");
  printf("%d\n",num);
  fprintf(out,"%d\n",num);
  for(i=0;i{printf("%d\n",b[i]);
  fprintf(out,"%d\n",b[i]);}
  fclose(out);
  }
  【答案】
  jsValue(int bb[])
  {
  int i,j,k=0;
  int hun,ten,data;
  for(i=100;i<=999;i++)
  {
  j=10;
  while(j*j<=i)
  {
  if(i==j*j)
  {
  hun=i/100;data=i-hun*100;
  ten=data/10;data=data-ten*10;
  if(hun==ten||hun==data||ten==data)
  {bb[k]=i;k++;}
  }
  j++;
  }
  }
  return k;
  }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved