主题:给个思路
			
 qingsong225
				 [专家分:0]  发布于 2008-11-02 10:56:00							
			目的:想从A-Z随机产生6-10个字母
要求:首先生成字符串长度--6到10之间一个数n;然后产生n个字母,且当每产生一个字母则将这个字母从原集合【A-Z】中删除,然后在产生下一个字母
大侠们给个思路该怎么做?
						
					 
		
			
回复列表 (共5个回复)
		
								
				沙发
				
					
qingsong225 [专家分:0]  发布于 2008-11-03 10:35:00				
				问题太简单没人愿意回答?我是初学的,大侠们耐心指导下。谢谢!
							 
						
				板凳
				
					
小地小地 [专家分:300]  发布于 2008-11-04 11:49:00				
				随机生成N和字母,存在另一个集合中,之后用A-Z集合减去这个集合
							 
						
				3 楼
				
					
qingsong225 [专家分:0]  发布于 2008-11-04 16:41:00				
				
谢谢小地小地!! 先试试。。。。[em2]
							 
						
				4 楼
				
					
小田甜 [专家分:3910]  发布于 2008-11-04 17:05:00				
				var
  s:string; t:char;
  a:array [1..26] of real; e:real;
  l:byte;
  i,j:byte;
begin
  for i:=1 to 26 do s[i]:=chr(ord('A')+i-1);s[0]:=#26;
  {先顺序存储A~Z}
  randomize; l:=6+random(5);
  {随机化 产生长度l}
  for i:=1 to 26 do a[i]:=random;
  for i:=1 to 25 do for j:=i+1 to 26 do if a[j]>a[i] then begin
    t:=s[i];s[i]:=s[j];s[j]:=t;
    e:=a[i];a[i]:=a[j];a[j]:=e;
  end;
  {这里就是一个简单的冒泡排序}
  s[0]:=chr(l);
  {s[0]表示字符串的长度(char类型)}
  writeln(s);
end.
							 
						
				5 楼
				
					
qingsong225 [专家分:0]  发布于 2008-11-05 16:33:00				
				谢谢小田甜!!
							 
									
			
我来回复