可以有很多方法吧 比如
a, b: array [1..10] of ...;
c: array [1..20] of ...;
pa, pb: integer; for i:= 1 to 20 do
  if (pa < 10) and (random < 0.5) or (pb = 10) then
  begin
    Inc(pa);
    c[i]:= a[pa];
  end
  else begin
    Inc(pb);
    c[i]:= b[pb];
  end;随便写的 就是那么个意思 大家别挑我的错啊

解决方案 »

  1.   

    unsigned(僵哥):你的那方法可能会变化元素的先后次序吧?
     sleeepboy(阿闲): PA和的直从哪里来的?谢谢。
      

  2.   

    pa和pb是标识a、b数组当前序号的
    没别的含义
      

  3.   

    var
      n:integer;            //链长n
      Areala,Arealb:doudbe; //待输入的实数Areala,判断实数Arealb
      Acharb:pchar;         //判断实数Arealb的转换
    用Arealb:=n/Areada计算出条件,再转换成Acharb.
    设字符串Acharb长度为m,
    Acharb[m]为奇数:数组1,偶数:数组2;
    Acharb[m-1]为奇数:奇数下标,偶数:偶数下标;
    定位看数组长度,也用运算表达式定位。
    放入链表的数作标志,定位到有标志取临近。
    这样人脑是算不准的。