讨论 / 救人一命 胜造七级浮屠
YANGLINGYUN 2010-05-08 02:25:00
点我顶贴 收藏 删除
谁拿了最多奖学金 答案一模一样 空格都没有 不信的话就试试 真的很诡异 怎么会是零分呢

program jiang;

var

g,h,z:string;a,b,c,d,i,m,n,k,j:longint;e,f,l,y:char;

begin

m:=0;n:=0;

readln(a);

for i:=1 to a do

begin

k:=0;

g:=z;read(l);g:=g+l;

begin

while l<>’ ’do begin read(l); g:=g+l;end;end;

read(b);

read(c);

read(y);

read(e);

read(y);

read(f);

read(d);

if (b>80) and (d<>0) then k:=k+8000;

if (b>85) and (c>80) then k:=k+4000;

if b>90 then k:=k+2000;

if (b>85) and (f=’Y’) then k:=k+1000;

if (c>80) and (e=’Y’) then k:=k+850;

if k>m then begin m:=k;

h:=copy(g,1,length(g)- 1);end;n:=n+k;end;

writeln(h);writeln(m);write(n);

end.

#1 青龙白狐@2009-09-03 03:45:00
回复 删除
别的不知道,计算机是不会出错的......

秋风吹,秋月明,落叶聚还散,寒鸦栖复惊,相思相见知何日,此时此夜难为情。

#2 青龙白狐@2009-09-03 03:47:00
回复 删除
program z;

type

zhao=record

name:string;

qmcj,bjcj:integer;

chxi,chxue:char;

lwen:1..10;

money:longint;

end;

var

n,i:integer;

a:array[1..100] of zhao;

rname:string;

zm,dm:longint;

ch:char;

procedure zong;

begin

for i:=1 to n do with a[i] do

begin

if (qmcj>80) and (lwen>=1) then money:=money+8000;

if (qmcj>85) and (bjcj>80) then money:=money+4000;

if (qmcj>90) then money:=money+2000;

if (chxi=’Y’) and (qmcj>85) then money:=money+1000;

if (bjcj>80) and (chxue=’Y’) then money:=money+850

end

end;

procedure ren;

begin

rname:=a[1].name;

dm:=a[1].money;

zm:=dm;

for i:=2 to n do

begin

zm:=zm+a[i].money;

if dm<a[i].money then

begin

rname:=a[i].name;

dm:=a[i].money

end

end

end;

begin

readln(n);

for i:=1 to n do with a[i] do

begin

money:=0;

read(ch);

while ch<>’ ’ do

begin

name:=name+ch;

read(ch);

end;

read(qmcj); read(ch);

read(bjcj); read(ch);

read(chxue); read(ch);

read(chxi); read(ch);

readln(lwen)

end;

zong;

ren;

writeln(rname);

writeln(dm);

writeln(zm);

end.

#3 zhhyoi@2009-09-03 05:08:00
回复 删除
因该是读入问题

名字后边的哪个空格如果读了再输出时就错了

#4 YANGLINGYUN@2009-09-04 02:05:00
回复 删除
因该是读入问题

名字后边的哪个空格如果读了再输出时就错了

那应该怎样读呢

#5 luoxiangyu@2010-03-20 02:04:00
回复 删除
在read(d)后面加一个readln 用于换行
#6 pansheng3789@2010-04-16 21:43:00
回复 删除
同病相怜...

测试结果错误.错误结果为:

YDCmkIYBPOy

15000

332750

正确结果应为:YDCmkIYBPOy

15000

332750

测试结果错误.错误结果为:

IXrLPdJhEekBRgsbkqI

15850

315050

正确结果应为:IXrLPdJhEekBRgsbkqI

15850

315050

测试结果错误.错误结果为:

LyFr

15850

376500

正确结果应为:LyFr

15850

376500

测试结果错误.错误结果为:

HHeXOMfgB

15000

311200

正确结果应为:HHeXOMfgB

15000

311200

测试结果错误.错误结果为:

IlB

14000

320050

正确结果应为:IlB

14000

320050

测试结果错误.错误结果为:

DGMqW

15000

350700

正确结果应为:DGMqW

15000

350700

测试结果错误.错误结果为:

F

15000

324650

正确结果应为:F

15000

324650

测试结果错误.错误结果为:

YBqilxkGZJx

15000

366150

正确结果应为:YBqilxkGZJx

15000

366150

测试结果错误.错误结果为:

RaC

12000

249600

正确结果应为:RaC

12000

249600

测试结果错误.错误结果为:

WtEEnIDxjkneYioJpF

15850

351900

正确结果应为:WtEEnIDxjkneYioJpF

15850

351900

#7 pansheng3789@2010-05-08 02:25:00
回复 删除
和青龙白狐差不多,咋会错捏?

type

records=record

mz:string;

pj:integer;

py:integer;

gb:boolean;

xb:boolean;

lw:boolean;

jxj:longint;

end;

var

a:array[1..100]of records;

i,max,n:integer;

c:char;

s:longint;

begin

readln(n);

for i:=1 to n do

begin

read(c);

while c<>' ' do

begin

a[i].mz:=a[i].mz+c;

read(c);

end;

read(a[i].pj,a[i].py);

read(c);

read(c);

if c='Y' then a[i].gb:=true else a[i].gb:=false;

read(c);

read(c);

if c='Y' then a[i].xb:=true else a[i].xb:=false;

read(c);

read(c);

if c>'0' then a[i].lw:=true else a[i].lw:=false;

a[i].jxj:=0;

end;

for i:=1 to n do

begin

if (a[i].pj>80)and a[i].lw then a[i].jxj:=a[i].jxj+8000;

if (a[i].pj>85)and(a[i].py>80) then a[i].jxj:=a[i].jxj+4000;

if a[i].pj>90 then a[i].jxj:=a[i].jxj+2000;

if (a[i].pj>85)and a[i].xb then a[i].jxj:=a[i].jxj+1000;

if (a[i].py>80)and a[i].gb then a[i].jxj:=a[i].jxj+850;

s:=s+a[i].jxj;

end;

max:=1;

for i:=2 to n do

if a[i].jxj>a[max].jxj then max:=i;

writeln(a[max].mz);

writeln(a[max].jxj);

write(s);

end.

查看更多回复
提交回复