学习网考试学习资料

Gzu521.com

2007年11月程序员模拟试题下午试卷(1)(2)

计算机软件水平考试   点击:次   发布时间:2007-10-20   【字体: 】   来源:Gzu521.com
GZU521.COM学习网

  ●试题三

  阅读下列函数说明和c代码,将应填入(n)处的字句写在答题纸的对应栏内。

  【说明】

  函数void rcr(int a[],int n,int k)的功能是:将数组a中的元素a[0]~a[n-1]循环向右平移k个位置。

  为了达到总移动次数不超过n的要求,每个元素都必须只经过一次移动到达目标位置。在函数rcr中用如下算法实现:首先备份a[0]的值,然后计算应移动到a[0]的元素的下标p,并将a[p]的值移至a[0];接着计算应移动到a[p]的元素的下标q,并将a[q]的值移至a[p];依次类推,直到将a[0]的备份值移到正确位置。

  若此时移动到位的元素个数已经为n,则结束;否则,再备份a[1]的值,然后计算应移动到a[1]的元素的下标p,并将a[p]的值移至a[1];接着计算应移动到a[p]的元素的下标q,并将a[q]的值移至a[p];依次类推,直到将a[1]的备份值移到正确位置。

  若此时移动到位的元素个数已经为n,则结束;否则,从a[2]开始,重复上述过程,直至将所有的元素都移动到目标位置时为止。

  例如,数组a中的6个元素如图1(a)所示,循环向右平移两个位置后元素的排列情况如图1(b)所示。

 

  【函数】

  void rcr(int a[],int n,int k)

  {int i,j,t,temp,count;

  count=0;/*记录移动元素的次数*/

  k=k%n;

  if( (1) ){/*若k是n的倍数,则元素无须移动;否则,每个元素都要移动*/

  i=0;

  while(count

  j=i;t=i;

  temp=a[i];/*备份a[i]的值*/

  /*移动相关元素,直到计算出a[i]应移动到的目标位置*/

  while((j= (2) )!=i){

  a[t]=a[j];

  t= (3) ;

  count++;~ed*y?w+ 7*U\fE+ bO [此资料转贴于学习网IT认证计算机软件水平考试 ]http://www.Gzu521.Com~ed*y?w+ 7*U\fE+ bO

  }

  (4) =temp;count++;

  (5) ;

  }

  }

  }

  ●试题四

  阅读下面的要求,在填入适当的语句。

  要求执行该段程序后能弹出一个对话框,对话框中有"确定"和"取消"按钮,以及一个带问号的图标,并要求第一个按钮为默认按钮。

  private sub form_load()

  msgbox"要重新输入吗?","询问"

  end sub

  ●试题五

  阅读以下应用说明及visual basic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

  【说明】

  本应用程序是一个乘法计算器,其运行窗口如图2所示。

 

  在该界面中,"被乘数"、"乘数"以及"积"等文字为标签,相应的3个输入输出数据框为文本框,此外还有3个命令按钮。用户在"被乘数"和"乘数"相应的文本框内输入数据,再单击"运算"按钮,便能在"积"对应的文本框中看到相乘的结果;当用户单击"清除"按钮时,就会清除各文本框中的数据;当用户单击"关闭"按钮时就会关闭该窗口并退出应用程序。用户不能在"积"对应的文本框中输入数据。

  【属性设置】

  各个对象、有关的属性名以及需要修改的属性值设计如下:

 

  【程序】

  private sub cmdmultiply_click()

  txt3.text=trim(str$( (3) ))′加法运算获得和数

  end sub

  private sub (4) ()

  txt1.text=" "′空字符串赋值给文本框txt1的内容

  txt2.text=" "′空字符串赋值给文本框txt2的内容

  txt3.text=" "′空字符串赋值给文本框txt3的内容

  end sub

  private sub cmdclose_click()

  (5) ′退出应用程序

  end sub

上一页 本文共2页:第 [1] [2]

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...