___(2)___
  ___(3)___
  (q+1)->n=t;
  a=1;
  }
  }
  }
  void make(int n)
  {
  int i;
  long a,b,c;
  struct fact *x,*y;
  x=(struct fact *)malloc(sizeof(struct fact)*n);
  x->m=1;
  x->n=1;
  for( a=1,b=1,i=2;i<=n;i++)
  {
  ___(4)___
  a=b;
  b=c;
  (x+(i-1))->m=a;
  (x+(i-1))->n=b;
  }
  ___(5)___
  printf("x%d={%1d/%1d",n,x->m,x->n);
  for(y=x+1;y 
  printf(",%1d/%1d",y->m,y->n);
  printf("}\n");
  free(x);
  }
  void main()
  {
  int n;
  printf("input n:");
  scanf("%d",&n);
  make(n);
  }
  试题四(15分,每空3分)(欢迎访问软件考试网www.hbsoft.net)
  阅读以下说明和C语言程序,将应填入___(n)___处的字句写在答题纸的对应栏内。
  [说明]
  本程序对某电码文(原文)进行加密形成密码文,其加密算法如下
  假定原文为C1,C2,C3,…,Cn加密后形成的密文为S1,S2,S3,…,Sn,首先读入正整数key(key>1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如下图所示:

  加密时从 S1 位置起顺时针计数,当数到第 key 个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 key 个字符位置时,将原文中字符 C2 放入其中,并从环中除去该字符位置;依次类推,直至 n 个原文字符全部放入密文环中。由此产生的 S1S2...Sn 即为原文的密文。
  例如,当 Key=3 时,原文:this is a decoding system 的密文为:
  aotgnhedi ys d imietsnc ss
  当Key=4时,该原文的密文为:
  ssdtyd htegiasiscnm e ion