模拟试题

3773考试网计算机等级考试模拟试题正文

2014年3月全国计算机二级C语言上机模拟试题十七之2

来源:2exam.com 2013-10-30 19:56:38

解题思路: 

  本题是对结构体数组中的姓名按升序进行排列。 

  第一处:t是一个临时变量,主要是存放学生数据的结构变量,所以应填:struct student。 

  第二处:利用两重for循环进行排序操作,排序的终止条件应该是总人数减1,所以应填:n-1。 

  第三处:对姓名进行比较大小,所以应填:a[i].name,a[j].name。 

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

  给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。 

  例如,调用fun函数之前给字符串输入:ABCDeFGH, 

  调用后字符串中的内容为:eABCDFGH。 

  请改正程序中的错误,使它能得出正确结果。 

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 

  给定源程序: 

  #include  

  fun( char *p ) 

  { char max,*q; int i=0; 

  max=p[i]; 

  while( p[i]!=0 ) 

  { if( max   { max=p[i]; 

  /

   q=p+i 

   } 

  i++; 

  } 

  wihle( q>p ) 

  { *q=*(q-1); 

  q--; 

  } 

  p[0]=max; 

  } 

  main() 

  { char str[80]; 

  printf("Enter a string: "); gets(str); 

  printf("\nThe original string: "); puts(str); 

  fun(str); 

  printf("\nThe string after moving: "); puts(str); printf("\n\n"); 

  }

触屏版 电脑版
3773考试网 琼ICP备12003406号-1