var a:array[0..8] of integer; i:integer; begin for i:=1 to 8 do a[i]:=i; for i:=1 to 4 do begin a[0]:=a[i];a[i]:=a[9-i];a[9-i]:=a[0]; end; for i:=1 to 8 do write(a[i]:2); writeln; end. 输出:_______________________________________________
var s,s1,s2:string; i,j,len:integer; Begin Readln(s); Len:=length(s); Sl:=‘’;s2:=‘’;j:=0; For i:=1 to len do begin if (s[i]>=‘0’) and (s[i]<=‘9’) then begin j:=j+1;insert(s[i],s1,j); end else if (s[i]>=‘a’) and (s[i]<=‘z’) or (s[i]>=‘A’) and (s[i]<=‘Z’) then s2:=s2+s[i]; end; writeln(s1,‘ ’,s2); End. 输入:Is 4Today 18? 输出:________________________________________________
统计子序列数 输入一个互不相同的正整数序列,求出该序列中所有递增和递减子序列的数目。 例如:整数序列(7,4,6,9,8,3,5,2,1),可以分为(7,4),(4,6,9),(9,8,3),(3,5),(5,2,1)这些子序列,即:子序列的数目为5. (注:上例整数序列中的4,9,3,5被称之为“转折元素”) Var n,i,s:integer; d:array[1..100] of integer; begin readln(n); for i:=1 to n do read(________); s:=__________; for i:=2 to_____________do if (d[i]-d[i-1]*_______________________>0 then ___________________; Writeln(s); end.
“振荡”冒泡排序: 将n个整数从小到大排序(n≤1000),下面的程序是对普通冒泡法排序的一个改进:先从一端开始扫描,进行比较、交换,然后改变下一趟扫描的方向,作同样的处理,使冒泡过程来回“振荡”进行,并逐步缩小扫描范围,直到n个数都排好序为止。 Var n,i:integer; a:_____________________________ ________________ ; procedure shakesort(x:integer); var i,h,t,k:integer; b:Boolean; begin h:=1;t:=x; repeat ____________________________________; For i:=h to do If a[i]>a[i+1] then begin K:=a[i];a[i]:=a[i+1];a[i+1]:=k; B:=false; End; T:=t-1; For i:=t-1 downto h do If __________________ then begin K:=a[i];a[i]:=a[i+1];a[i+1]:=k; B:=false; End; H:=h+1 Until b; End; Begin Randomize;readln(n); For i:=1 to n do a[i]:=random(1000)+1; __________________________________; For i:=1 to n do write(a[i]:4); Writeln End.
查看答案
(1)array[1..1000] of integer (2)b:=true (3)t-1 (4)a[i]>a[i+1] (5)shakesort(n)