PASCAL高手请赐教

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:09:56
帮我看看我的程序错哪了,谢谢,好的加分!!!!!

【题目】
背景 Background
NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去。由于NK中学的学生很多,在火车开之前必须清点好人数。

描述 Description
初始时,火车上没有学生;当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下。年级主任走到第m节车厢时,他想知道第1到m这m节车厢上一共有多少学生,但是他没有调头往回走的习惯.也就是说每次当他提问时,m总会比前一次大。

输入格式 Input Format
第一行两个整数n,k,表示火车共有n节车厢以及k个事件。接下来有k行,按时间先后给出k个事件,每行开头都有一个字母A,B或C,如果字母为A,接下来是一个数m,表示年级主任现在在第m节车厢;如果为B,接下来两个数m,p,表示在第m节车厢有p名学生上车;如果为C,接下来两个数m,p,表示在第m节车厢有p名学生下车。学生总人数不会超过100000。

输出格式 Output Format
有多少个A就输出多少个数,回答年级主任提出的问题。输出不要换行!

【我的程序】
program qdrs;
var a:array [1..500000] of longint;
n,k,i,m,p,l,r:longint;
c:char;
begin
read(n,k);
for i:=1 to n do
a[i]:=0;
l:=0;
r:=0;
for i:=1 to k do
begin
read(c);
if c='A' then begin
read(m);
for i:=l+1 to m do

只是个小问题哦^_^

...
for i:=1 to k do <----i
begin
read(c);
if c='A' then begin
read(m);
for i:=l+1 to m do <----i
...

注意!!!这里两个循环变量都是i!!!!所以错了.
最佳最佳最佳!!!!!!!!!!