有关Pascal的问题,有兴趣的,能力强的,能力弱的,进来看看

来源:百度知道 编辑:UC知道 时间:2024/07/07 08:13:35
1、寻找第K大数(t1.pas)
一堆数有N个,我想从大到小排成一排,从中挑出第K大的那个数进行采样分析请你帮忙挑出来。
Input:输入文件的第一行为二个整数N和K,表示整数的个数(N,K<=10000),下面第二行为N个整数,其值都在(-32768~32767)之间。
Output:输出文件只有一个数,为第K大整数

2、全排序问题(t2.pas)
将一个字符组全排序
Input
一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。
Output
按数字在输入串中出现的次序从小到大的顺序输出该字符组的全排序
Sample Input
132
Sample Output
1 3 2
1 2 3
3 1 2
3 2 1
2 1 3
2 3 1

3、 核电站问题(t3.pas)
一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。
任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数
Input:
输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5)
Output:
输出文件只有一个正整数S,表示方案总数。
Sample Input
4 3
Sample Output
13

4、爬山(t4.pas)
Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, ……, n。每个山峰的高度都是不一样的。编号为i的山峰高度为hi。
小修从西往东登山。每到一座山峰,她就回头观望自己走过的艰辛历程。在第i座山峰,她记录下自己回头能看到的山峰数si。
何谓“能看到”?如果在第i座山峰,存在j<k<i,hj<hk,那么第j座山峰就是不可见的。除了不可见的山峰,其余的山峰都是可见的。
回家之后,小修把所有的si加起来得到S作为她此次旅行快乐值。现在n

1:
var a:array[1..10000] of longint;
n,k,i:longint;
procedure sort(l,r:longint);
var i,j,min,temp:longint;
begin
i:=l;j:=r;min:=a[(l+r) div 2];
repeat
while a[i]<min do inc(i);
while a[j]>min do dec(j);
if i<=j then
begin
temp:=a[i];a[i]:=a[j];a[j]:=temp;
inc(i);dec(j);
end;
until i>j;
if i<r then sort(i,r);
if j>l then sort(l,j);
end;
begin
assign(input,'t1.in');
assign(output,'t1.out');
reset(input);
rewrite(output);
readln(n,k);
for i:=1 to n do
readln(a[i]);
sort(1,n);
writeln(a[n-k+1]);
close(input);
close(output);
end.

{===============================================}
2:

var se:set of 0..9;
a:array[1..9] of byte;
f:array[1..9] of byte;
i,k,j,m,n:longint;
procedure print;
var i:int