goback add

2012年计算机三级数据库上机题及参考答案(3)

4225 点击·0 回帖
灯火互联
楼主

 16.下列轨范的功能是:寻找并输出11~999之间的数m,它知足m、m2和m3均为回文数。所谓回文数是指列位数字摆布对称的整数,例如121、676、94249等。知足上述前提的数如m=11,m2=121,m3=1331皆为回文数。请编写函数int palindromevalue(long n)实现功能:如不美观是回文数,则函数返回1,反之则返回0。最后,把结不美观输出到文件OUT.dat中。
  【谜底】
  int palindromevalue(long n)
  { int i, strl, half;
  char temp;
  ltoa(n, temp, 10);
  strl = strlen(temp);
  half = strl/2;
  for (i=0; i
  if (temp != temp)
  break;
  if (i >= half)
  return 1;
  else
  return 0;
  }
  17请填补轨范,使得轨范能实现以下功能:
  从文件IN.dat中篡夺200个整数至数组number中,求出奇数的个数cnt1和偶数的个数cnt2以及数组number下标为偶数的元素值的算术平均值ave(保留2位小数)。把结不美观cnt1、cnt2、ave输出到OUT.dat中。
  【谜底】
  for (i=0, j=0, cnt1=0, cnt2=0; i
  { if (number%2)
  cnt1++;
  else
  cnt2++;
  if (i%2 == 0)
  j += number;
  }
  ave = (float)j/(N/2);
  18.函数Rdata()实现从文件IN.dat中篡夺一篇英文文章,存入到字符串数组string中,请编写函数CharRight(),其功能是:以行为单元把字符串中的最后一个字符的ASCII值右移4位后加倒数第二个字符的ASCII值,获得最后一个新的字符;倒数第二个字符的ASCII值右移4位后加倒数第三个字符的ASCII值,获得倒数第二个新的字符;依此类推,一向措置到第二个字符;第一个字符的ASCII值加原最后一个字符的ASCII值,获得第一个新的字符。获得的新字符分袂存放在原字符串对应的位置上,最后已措置的字符串仍按行从头存入字符串数组string中。最后挪用函数Wdata(),把结不美观string输出到文件OUT.dat中。
  原始数据文件存放的名目是:每行的宽度均小于80个字符(含标点符号和空格)。
  【谜底】
  void CharRight(void)
  { int i, j, strl;
  char ch;
  for (i=0; i
  { strl = strlen(string);
  ch = string;
  for (j=strl-1; j>0; j--)
  { string >>= 4;
  string += string;
  }
  string += ch;
  }
  }




喜欢0 评分0