请各位高人帮我看看这个Pascal程序里哪里出错了?运行后输出的是空白。。。

2024-12-27 00:15:09
推荐回答(3个)
回答1:

你这里有两问题,首先题目中“第2行有N个用空格隔开的正整数,为所产生的随机数。”你不应该用readln读入,这样你只能读入第一个数然后就换行读入了,因为后面文件没有内容,pascal将自动补零,就是说你读进来的永远是第一个数字和n-1个零。
第二个是你的输出,“第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。”你的输出应该是m个数,每两个数之间有一个空格同时以回车结尾,而你的输出是m个数每个数后有一个空格,就是说行末会多出一个空格,这样你的输出看起来和标准输出一样实际上是一分都得不到的。另外,一般题目不说,输出文件也应该以回车结尾,noip08浙江省分数太高后来就是用这个卡分数来着。
像真正复赛比赛的时候算法固然重要,输入输出格式几乎是同等重要的,向你这样不注意的话,一道会的题目100分没了,不是要悔的肠子都青了,多少前辈鲜血换来的教训啊.....

回答2:

刚开始读进错了,将readln(a[i])改为read(a[i])就行,
其实你可以用repeat,边读边比较和去除重复的.

回答3:

读入应用read 输出最后 最好加个writeln