您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
2006年9月23日计算机等级考试二级C上机试题
http://www.educity.cn 作者:不详 来源:考试吧 2006年10月9日 发表评论 进入社区

全国计算机等级考试二级C语言历年试题合集含答案(CHM文件下载)>>

题目一:


题目二:  
  我还有一个同学抽的题目是:

  给定一篇英文文章,统计题目中给定的十个单词出现的频率.

题目三:  
  网上其它朋友抽到的题目我也写在这里供大家参考:
  考试时间:9月23日 15:00

  已知在文件IN.DAT中存有N个实数(N<200), 函数ReadDat( )是读取这N个实数并存入数组xx中。请编制函数CalValue( ), 其功能要求: 1.求出这N个实数的平均值aver; 2.分别求出这N个实数中大于平均值aver的实数的整数部分值之和sumint以及该实数的小数部分值之和sumdec, 最后调用函数WriteDat()把所求的结果输出到文件OUT2.DAT中。

  注意: 部分源程序存放在PROG1.C中。

  请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。


题目四:考试时间:9月23日 14:00
  抽到题目:已知在文件IN.DAT中存有10x20个实数, 并已通过函数ReadDat( )数组aa[10][20]中。请编制函数jsVal(), 其功能要求: 1.分别剔除每行的第一个和最后一个数,求出剩余18个数的平均值存入数组bb[10]中; 2.将bb[10]中的数按从达到小顺序排列,结果仍存入bb[10]中。 最后调用函数WriteDat()把所求的结果输出到文件OUT.DAT中。

    
题目五:
  我抽到题目:抽到题目:已知数据文件IN.DAT中存有200个两位数且相邻的两个数之间均不相等,并已调用函数readDat()把这些数存入数组b中,请考生编制一个函数jsVal(),实现的功能是对经常上下波动的数据可采用只记录峰值的数据压缩方法,即每次将采样到的当前值和前一次值比较,如数据变化方向改变(原递增现递减或原递减现递增),说明已过峰值,这时就将当前值记录下来,接着将结果依次存入数据b中(从0开始存放),注意数组b中的第一个数据a[0]原样存入b[0]单元中。最后调用输出函数writeDat()把结果c输出到文件OUT.DAT中。例如:原数据: 35,69,87,73,62,54,60,70, 压缩后: 35,73,60, 注意:部分源程序存在文件PROG1.C文件中。 程序中已定义:a[200]、b[200]。请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat的内容。

题目六:
机试时间:9月24日9:20
机试题目:南开59题。
考号尾数:915
  题目59函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab<cd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。
void jsVal()
{int i,thou,hun,ten,data,j;
int ab,cd;
for(i=0;i<MAX;i++)
  {thou=a/1000;  hun=a/100%10;
   ten=a%100/10; data=a%10;
   ab=10*thou+ten;  cd=10*data+hun;   if(((ab-cd)<0&&ab%2==1&&ab%5!=0)&&cd%2!=1&&ab>=10&&cd>=10)
     {b[cnt]=a;cnt++;}  }
for(i=0;i<cnt-1;i++)
   for(j=i+1;j<cnt;j++)
     if(b<b[j]) {data=b;b=b[j];b[j]=data;}}