讨论 / 谁能教下这道题?
fjxmlhx 2008-09-17 04:45:00
点我顶贴 收藏 删除
没学过~
#1 zhqc@2008-03-09 06:57:00
回复 删除
我们这初二学,但目前我们还没学到,郁闷~
#2 静&思@2008-03-10 08:58:00
回复 删除
大概说一下吧,做题应该是够了。

每个人的基因是两个字母;

比如,父亲是HH,母亲是Hh,孩子的两个字母,一条来自父亲,一条来自母亲,则有4种情况,为:

HH,HH,Hh,Hh。

其中,两个字母先后顺序是大写字母在前。

但,HH和Hh的都显示同一种性质,而只有hh才是相反的,比如,单眼皮是显性基因,若一个人是HH或Hh,那么他是单眼皮,若是hh则为双眼皮;

也就是说:若是HH 和 HH 的结合,那后代有四种情况,且均为HH ,答案是4:0

若是 HH 和 hh 后代四种情况均为Hh,答案是4:0

若是 HH 和 Hh 后代为HH ,HH Hh Hh,也是4:0

也就是说,要是有父母中一方是HH ,后代必有H,均为显性,即,4:0

要是父母都是hh hh,后代是hh,即0:4

要是为 Hh Hh,则后代为HH Hh Hh hh ,即3:1

要是为 Hh hh,则后代为Hh Hh hh hh,即2:2=1:1;

综上所述,问题应该不大,不过注意:输入数据可能是rr Rr ,与hh Hh大同小异。

#3 gaoxin@2008-03-15 02:23:00
回复 删除
这么说按概率看,人是越来越高了??
#4 woshiniba@2008-09-17 04:34:00
回复 删除
不对 我用这个做的 才40分……

program af;

var

c1,c2,k,c3,c4:char;

s1,s2,s3,s4:string;

x,y:longint;

procedure check(a:string);

begin

if a=’hh’ then inc(y)

else inc(x);

end;

begin

read(c1,c2,k,c3,c4);

x:=0; y:=0;

s1:=c1+c3;

s2:=c2+c3;

s3:=c1+c4;

s4:=c2+c4;

check(s1); check(s2); check(s3); check(s4);

if (x=y) and (x+y=4)

then writeln(’1:1’)

else writeln(x,’:’,y);

readln;readln;

end.

#5 woshiniba@2008-09-17 04:45:00
回复 删除
哦 忘了不同字母了。
查看更多回复
提交回复