暖暖 2014-10-18 08:28:14
点我顶贴
收藏
删除
const
n1=8000;
n2=4000;
n3=2000;
n4=1000;
n5=850;
var
n:record
name:string;
jg:integer;
cg:integer;
bg:char;
xb:char;
lw:integer;
end;
mo,i,num,total,bj:longint;
people:string;
begin
readln(num);
for i:=1 to num do
begin read(n.name,n.jg,n.cg,n.bg,n.xb,n.lw);
if (n.jg>80) and (n.lw>0) then mo:=mo+n1;
if (n.jg>85) and (n.cg>80) then mo:=mo+n2;
if n.jg>90 then mo:=mo+n3;
if (n.jg>85) and (n.xb='Y') then mo:=mo+n4;
if (n.cg>80) and (n.bg='Y') then mo:=mo+n5;
total:=total+mo;
if bj<mo then begin bj:=mo; people:=n.name; end;
end;
writeln(people);
writeln(bj);
writeln(total);
end.
请指教啊啊啊!
#3 qzxhzx-zzk@2015-03-03 05:43:32
33198
回复
删除
其实是因为你一行都被字符串n.name给吞了,所以之后又来一个名字导致后面的n.什么什么都格式错误(是整形结果读进来的是字母)