模拟试题

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

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

来源:2exam.com 2013-10-30 10:18:14

解题思路: 

  t2是存放数字字符串,t1是存放非数字字符串。 

  第一处:t2存放数字字符串的位置是由j来控制的,每添加一个,j必须加1,所以应填:j++。第二处:利用for循环把t1字符串添加到原字符串s中,所以应填:s[i]=t1[i]。 

  第三处:利用for循环把t2字符串添加到原字符串s的尾部,其中数字字符串的长度为j,所

  以应填:j。 

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

  给定程序MODI1.C中函数 fun 的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 

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

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

  给定源程序: 

  #include  

  #include  

  #define MAXLINE 20 

  fun ( char *pstr[6]) 

  { int i, j ; 

  char *p ; 

  for (i = 0 ; i < 5 ; i++ ) { 

  for (j = i + 1, j < 6, j++) 

  { 

  if(strcmp(*(pstr + i), *(pstr + j)) > 0) 

  { 

  p = *(pstr + i) ; 

  *(pstr + i) = pstr + j ; 

  *(pstr + j) = p ; 

  } 

  } 

  } 

  } 

  main( ) 

  { int i ; 

  char *pstr[6], str[6][MAXLINE] ; 

  for(i = 0; i < 6 ; i++) pstr[i] = str[i] ; 

  printf( "\nEnter 6 string(1 string at each line): \n" ) ; 

  for(i = 0 ; i < 6 ; i++) scanf("%s", pstr[i]) ; 

  fun(pstr) ; 

  printf("The strings after sorting:\n") ; 

  for(i = 0 ; i < 6 ; i++) printf("%s\n", pstr[i]) ; 

  } 

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