pascal程序设计_pascal完善程序
1、求最大值与最小值
集合a中有n(n是2的幂(n≥2))个元素,求n个元素中的最大元与最小元。 分治法解决这个问题就是把集合a分成a1,a2两个子集,每个子集有n/2个元素,应用递归结构找出两个子集的最大元和最小元,比较得到的两个最大元和最小元即可得到整个集合a中的最大元和最小元。
type atype=array[1..n]of integer; var max,min,i,n:integer; a:atype; procedure maxmin(r1,r2:integer;var max,min:integer); var d,max1,min1,max2,min2:integer; begin if r2=r1+1 then begin if a[r2]>a[r1] then begin max:=a[r2]; min:=a[r1]; end else begin min:=a[r2]; max:=a[r1]; end end else begin d:=(r1+r2)div 2; maxmin( , , , ); maxmin( , , , ); if max1>max2 then _________ else ___________; if min1>min2 then _________ else ; end; end;begin write('input n:');readln(n); for i:=1 to n do read(a[i]);readln; maxmin(1,n,max,min); writeln(‘the max numberis:',max,' min number is:',min); end.
2、银行贷款
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。
输入: 输入文件仅一行包含三个用空格隔开的正整数。 第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。
输出: 输出文件应该是一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%。
样例 LOAN.IN1000 100 12
LOAN.OUT2.9
var total,pay,year,i:longint; rate,l,r,now:real;begin readln(total,pay,year); r:=1; l:=0; while r-l > 1e-5 do begin rate := (l + r) /2 ; now := total; for i:=1 to year do now := now*(rate+1) - pay; if now < 0 then __________ else ___________ end; writeln(rate*100:0:2);end.
最佳答案
1.
k:= i;
2.
if k<>i
3.
s:=a[1];
4.
writeln(s:2:0);
其他回答
暂无其它回答!