主题:求教大家一个问题~~~~~~~~帮帮忙
风飘渺
[专家分:0] 发布于 2005-08-23 15:42:00
定义一个函数check(n,d),它回送一个布尔值。如果数字d在整数n的某位出现,则回送true(真),否则回回送false(假),例如:
check(3256,2)=true
check(1725,3)=fasle
这题用简单函数怎么来实现~~~~~~~~~
回复列表 (共6个回复)
沙发
林记 [专家分:1680] 发布于 2005-08-23 15:51:00
function check(a,b:integer):boolean;
var
i:integer;
begin
check:=false;
while a>0 do
begin
i:=a mod 10;
a:=a div 10;
if i=b then exit(true);
end;
end.
板凳
风飘渺 [专家分:0] 发布于 2005-08-23 15:53:00
输入 a,b,c,计算m,已知
max(a,b,c)
m=——————————
max(a,a+b,c)×max(a+b,b+c,a+b)
这题用函数和过程怎么做呢~~~~~~~~~?
3 楼
zhsas [专家分:1680] 发布于 2005-08-23 20:52:00
program zhs (input,output);
var
a,b,c,m:real;
function max(a,b,c:real):real;
begin
if a<b
then max:=b
else max:=a;
if max<c
then max:=c;
end;
begin
read(a,b,c);
m:=max(a,b,c)/(max(a,a+b,c)*max(a+b,b+c,a+b));
writeln('m=',m)
end.
4 楼
zhsas [专家分:1680] 发布于 2005-08-23 21:04:00
program zhs (input,output);
var
a,b,c,m,m1,m2,m3:real;
procedure max(a,b,c:real;var m:real);
begin
if a<b
then m:=b
else m:=a;
if m<c
then m:=c;
end;
begin
read(a,b,c);
max(a,b,c,m1);
max(a,a+b,c,m2);
max(a+b,b+c,a+b,m3);
m:=m1/(m2*m3);
writeln('m=',m)
end.
5 楼
阿Ben [专家分:2200] 发布于 2005-08-23 23:43:00
function check(n,d:longint):boolean;
var
i:integer;
s:string;
c:char;
begin
check:=false;
str(n,s);
c:=chr(ord('0')+d);
for i:=1 to length(s) do
if s[i]=c then exit(true);
end;
大家别用我的,我的最浪费内存。
6 楼
lzl1403 [专家分:1670] 发布于 2005-08-24 00:48:00
哇!这么多程序……
我来回复