这是我第一次发帖,所以我希望我做的对。我是一个初学者,刚刚写了一个简单的程序,应该打印至少20个数字和它在数组中的位置。我用的是免费的帕斯卡。但是,如果我运行它(ctrl+F9)并输入20个数字(带有空格)并确认什么都没有发生。我还要按别的吗?或者程序有什么问题吗?提前行动!
这是程序(它有一些德文文本):
program MinimumPositionFinder (input, output);
const
FELDGROESSE = 20;
type
tIndexPosition = 1..FELDGROESSE;
tFeld = array [tIndexPosition] of integer;
var
Feld : tFeld;
i: tIndexPosition;
Minimum : integer;
Position : tIndexPosition;
begin
writeln ('Bitte geben Sie', FELDGROESSE:4 , 'Zahlen ein.');
for i := 1 to FELDGROESSE do
readln (Feld[i]);
Minimum := Feld[1];
for i := 2 to FELDGROESSE do
if Feld[i] < Minimum then
Feld[i] := Minimum;
for i := 1 to FELDGROESSE do
if Feld[i] = Minimum then
Position := i;
Writeln ('Das Minimum ist' , Minimum:2 , '.' ,
'Es befindet sich an Position', Position:2 , '.')
end.发布于 2022-10-18 22:15:28
正如注释中所述,由于您正在使用readln阅读,请确保在输入每个数字后按回车/进入。或者,用read读入您的数字。
您还需要在记录最小值的同时记录您的职位。如果您正在从左边寻找最小值的第一个位置,则它更具有表现力,而且可能更正确。
Minimum := Feld[1];
Position := 1;
for i := 2 to FELDGROESSE do
if Feld[i] < Minimum then
begin
Feld[i] := Minimum;
Position := i;
endhttps://stackoverflow.com/questions/74116845
复制相似问题