回 帖 发 新 帖 刷新版面

主题:去年的NOIP普及组复赛题苹果问题,程序为什么不能读入数据

去年的NOIP普及组复赛题苹果问题,我这样写程序,为什么不能读入数据呢?apple.in和apple.out文件我都写好了的。程序如下:
program apple(input,output);
type
  apples=100..200;
  tall=100..200;
const
  n=30;
var
  a:array[1..10]of apples;
  h:tall;
  x,i:integer;
 begin
   assign(input,'d:\data\apple.in');
   reset(input);
   assign(output,'d:\data\apple.out');
   rewrite(output);
   for i:=1 to 10 do read(a);
   readln;
   read(h);
   x:=0;
   for i:=1 to 10 do
     if a<=b+n then inc(x);
   write(x)
   close(input);
   close(output);
 end.
程序截图:
[img]http://www.ytyz.com.cn/apple.jpg[/img]

回复列表 (共3个回复)

沙发

你设定的是A数组,可是你读取的时候只读取了A而不是A[I]当然会出现错误拉!
友情提醒:决赛应该用FP!

板凳

谢谢,我用的是FP,修改后程序能够正常编译成功了,可是却没有输出数据。也没有任何报错提示,真是晕倒:
program apple(input,output);
var
  a:array[100..200]of integer;
  h:integer;
  x,i:integer;
 begin
   assign(input,'d:\data\apple.in');
   reset(input);
   assign(output,'d:\data\apple.out');
   rewrite(output);
   for i:=1 to 10 do read(a[i]);
   readln;
   read(h);
   x:=0;
   for i:=1 to 10 do
     if a<=(h+30) then inc(x);
   write(x);
   close(input);
   close(output);
 end.

3 楼

当然了
因为你这段代码:
  for i:=1 to 10 do
     if a<=(h+30) then inc(x);
当中的a应该是a数组,而不应该是一个变量,所以修改方法就是,将a改为a[i]
然后其他应该没有问题了

我来回复

您尚未登录,请登录后再回复。点此登录或注册