pascal 程序哪里错了??

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:51:21
var a,b,full,n,tmp1,i,j:integer;
data,sum:array[1..10000] of integer; s2,s:array[1..99999] of string;
begin
assign(input,'Maowant.in');
assign(output,'Maowant.out');
reset(input);
rewrite(output);
read(n);
for i:=1 to n do
read(s[i],sum[i]);
readln;
begin
a:=1;
b:=9;
i:=1;
repeat
begin
if (sum[i]>=a) and (sum[i]<=b) then inc(data[i]);
inc(i); a:=a+10; b:=b+10;
end;
until b=149;
for i:=1 to n do j:=data[i]+j; full:=n-j;
end;
begin
a:=1;
b:=9;
repeat
begin
write(a,'~',b,' ');
a:=a+10; b:=b+10;
end;
until b=159;
writeln;
for i:=1 to 15 do write(data[i]);
for i:=1 to n do writeln(s2[i]);
if full<> 0 then writeln(full)
else begin writeln(0);writeln('No'); end;
end;

字符串是整行输入的
我建议你最好这样
ch:char;
begin
for i:=1 to n do
begin
read(ch);
while ch<>' ' do s:=s+c;
readln(sum[i]);
end;
我就是这么弄的!!

今天的测试题.......
首先数据范围是130000,数组范围就已经不够了
还有,是要按学号顺序输出的,要排序
最后如果没人才打0,不然是要输出全部的学号的