国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2016年計算機軟件水平考試程序員精選模擬試題

時間:2016-08-08 17:25:00   來源:無憂考網(wǎng)     [字體: ]

  試題一 閱讀下列說明、流程圖和算法,將應(yīng)填入 n 處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  [流程圖說明]

  下面的流程圖用N-S盒圖形式描述了在一棵排序二叉樹中查找元素的過程,節(jié)點有三個成員:data,left,right。其查找的方法是:首先與樹的根節(jié)點的元素值進行比較:若相等則找到,返回此結(jié)點的地址;若要查找的元素小于根節(jié)點的元素值,則指針指向此結(jié)點的左子樹,繼續(xù)查找;若要查找的元素大于根節(jié)點的元素值,則指針指向此結(jié)點的游子樹,繼續(xù)查找。直到指針為空,表示此樹中不存在所要查找的元素。

  [算法說明]

  將上題的排序二叉樹中查找元素的過程用遞歸的方法實現(xiàn)。其中NODE是自定義類型:

  typedef struct node {

  int data;

  struct node *left;

  struct node *right;

  } NODE;

  [算法]

  NODE *SearchSortTree(NODE *tree,int e) {

  if(tree != NULL)

  { if (tree->data < e)

  (4) ; //小于查找左子樹

  else if (tree->data < e)

  (5) ;//大于查找左子樹

  else return tree;

  }

  return tree;

  }

  試題二

  閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入 n 處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  [函數(shù)2.1說明]

  函數(shù)strcat(char s[], char t[])的功能是:將字符串t復(fù)制連接字符串s的尾部,并返回新字符串的首地址作為函數(shù)值。例如:若s=“abcd”,t=“efg”,則新字符串應(yīng)該是“abcdefg”。

  [函數(shù)2.1]

  char *strcat(char s[], char t[])

  { char *p;

  p = s + strlen(s)-1

  while( (1) ) {

  (2) ;

  }

  *p = ‘\0’;

  return s;

  }

  [函數(shù)2.2說明]

  函數(shù)f(char *str, char del)的功能是:將非空字符串str中的指定字符del刪除,形成一個新字符串仍存放在str所指內(nèi)存單元中。

  例如若str的值為“33123333435”,del的值為‘3’,調(diào)用此函數(shù)后,新字符串為:“1245”。

  [函數(shù)2.2]

  void f(char *str, char del)

  {

  int i, j, len;

  len=strlen(str);

  i=j=0;

  while(i

  if ( (3) )

  (4) = str[i];

  i++;

  }

  (5) ;

  }

  試題三

  閱讀以下說明和C代碼,將應(yīng)填入 n 處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  [說明]

  下面程序中函數(shù)fun的功能是:在含有10 個元素的s數(shù)組中查找數(shù),及數(shù)所在位置(即,下標(biāo)值),數(shù)可能不止一個。數(shù)作為函數(shù)值返回,數(shù)的個數(shù)通過指針變量n傳回,所在位置由數(shù)組pos傳回。

  例如:

  若輸入 2 8 5 7 8 4 5 3 2 8

  則應(yīng)輸出:

  The max: 8

  Total: 3 //數(shù)出現(xiàn)次數(shù)

  The positions: 1 4 9

  #include

  #define M 10

  int fun(int *a, int *n, int pos[])

  { int i, k, max=-32767;

  (1)

  for(i=0; i

  if( (2) ) max=a[i];

  for(i=0; i

  if( (3) ) pos[k++]=i;

  *n=k;

  return max;

  }

  main()

  { int a[M], pos[M], i=0, j, n;

  printf("Enter 10 number :");

  for(i=0; i

  j=fun( (5) );

  printf("The max: %d\n", j);

  printf("Total: %d",n);

  printf("The position:");

  for(i=0; i

  printf("\n");

  }

  試題四 (試題四和試題五選做一題)

  閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入 n 處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  [函數(shù)說明]

  函數(shù)ReadDat()實現(xiàn)從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組dat中(第行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串按給定的條件進行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組dat中,最后調(diào)用函數(shù)WriteDat()把結(jié)果dat輸出到文件out.dat中。

  條件:從字符串中間一分為二,右邊部分按字符的ASCII值降序排序,排序后左邊部分與右邊部分進行交換。如果原字符串長度為奇數(shù),則最中間的字符不參加排序,字符仍放在原位置上。

  例如:位置    0 1 2 3 4 5 6 7

  源字符串  h g f e a b c d

  則處理后字符串 d c b a h g f e

  部分源程序已給出。

  請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。

  #include

  #include

  char dat[20][80];

  void jsSort()

  { int i,j,k,strl;

  char ch;

  for(i=0;i<20;i++)

  { strl=strlen(dat[i]);

  for(j= (1) ;j

  for(k=j+1;k

  if( (2) )

  {

  ch=dat[i][j];

  dat[i][j]=dat[i][k];

  dat[i][k]=ch;

  }

  for(j=0; (3) ;j++)

  {

  ch=dat[i][j];

  dat[i][j]=dat[i][(strl+1)/2+j];

  dat[i][(strl+1)/2+j]=ch;

  }

  }

  }

  readDat()

  { FILE *in;

  int i=0;

  char *p;

  (4) ;

  while(i<20&&fgets(dat[i],80,in)!=NULL)

  { p=strchr(dat[i],’\n’);

  if(p)*p=0;

  i++;

  }

  fclose(in);

  }

  writeDat()

  { FILE *out;

  int i;

  out=fopen(“out.dat”,”w”);

  for(i=0;i<20;i++)

  { printf(“%s\n” ,dat[i]);

  fprintf( (5) );

  }

  fclose(out);

  }

  void main()

  { readDat();

  jsSort();

  writeDat();

  }