pascal语言高手come on

来源:百度知道 编辑:UC知道 时间:2024/06/12 01:34:14
1.有81个同样种类的零件,已知其中有一个是次品,比正品较轻,仅限用天平称4次,把次品找出来,要求打印每次称量过程。
2.输入N个数字(0-9),然后统计出这组数中相邻两数字组成的数字对出现的次数。
如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,9,6,5,9中可得到:
(7,8)数字对出现次数2次,(8,7)数字对出现次数为3次
3.由M个数字构成一个圆,找出四个相邻的数,使其和为最大、最小。
4.输一个十进制数,将其转换成N进制数(0<N<=16)。
5.输入N个学生的学号和一门功课的成绩:
①求出高于平均分的人数,并打印这些人的学号和成绩。
②按从高到低的顺序,列出学号和成绩(要求能够处理同名次)。
③统计各分数段的人数:60分以下的一段,60分以上则每隔5分为一段,95分以上为最后一段。用直方图形式打印输出。
6.将M * N的矩阵,转置为N * M的矩阵输出。
7.因式分解:对一个数进行因式分解。如12=2 * 2 * 3=4 * 3=6 * 2
8.打出所有满足条年的三位数的素数。条件是:它们的序数、数码和、数码积或是素数、或是1、或是0。
例如:113是素数,逆序数311也是素数,数码和是5,积是3,都是素数。所以113是满足条件的三位数。
9.将1,2,3,……20共20个数字排成一排,使相邻两个数字之和为素数,并且头尾两数之和也为素数。求出所有满足条件的排列。

请将程序写出来!!合格者重赏!截止日期2007.9.19中午
拜托了,一定要过程哦!!!每一题都要整个程序下来!!!拜托了,急要!心上人交代的,这个女朋友能不能追到就看各位仁兄的啦,拜托啦!!!!
(能编出几题就几题)

1.var
a,b,i,j:integer;
begin
a:=81;b:=4;
writeln(a);
for i:=1 to 4 do
begin
a:=a div 3;
writeln(a);
end;
2.var i,N:integer; fd:boolean;

A:array[1..100] of integer;

B:array[0..9,0..9] of integer;

Begin fillchar(B,sizeof(B),0);{数组B初值置为0} write('N=');readln(N);

if (N>1)and(N<=100) then

begin write('Enter ',N,' numbers:');

for i:=1 to N do

begin read(A[i]); {输入A[i]}

if (A[i]<0)or(A[i]>9) then {A[i]的值在0与9之间}

begin writeln('Input error!');halt;end;

end;

for i:=1 to N-1 do

B[A[i],A[i+1]]:=B[A[i],A[i+1]]+1;{相邻数字对BA[i],A[i+1]值加1}

fd:=true;writeln('Result:');

for i:=1 to N-1 do

if (B[A[i],A[i+1]]>0)and(B[A[i+1],A[i]]>0) then<