使用WHILE检查该数字是否可被7/turbo帕斯卡整除



对不起,伙计们,我不知道如何复制,所以我必须发布图片。基本上,对于我的任务,我必须使用WHILE,我在某个地方犯了错误,但我似乎找不到它。我编译了它,它起作用了,然后我运行它,键入5个数字,(2,14,9,7,1(,它只打印一个可除以7的数字。[1] :https://i.stack.imgur.com/ykn2J.png[2] :https://i.stack.imgur.com/G5GAV.png编辑:我收到了短信,所以你不必检查

Program Divisible;
var n,s,i,x:integer;
begin
writeln('How many numbers will you type');
read(n);
begin
s:=0;
I:=1;
end;
while I < n do
begin
writeln('What are those numbers?');
read(x);
If x mod 7 =0 then
begin
s:=x+0;  /help
end;
I:=I+1;
end;
writeln('Numbers divisible by 7 are');
writeln(s);
end.

首先,您需要将I声明为0,因为如果数字的数量为1,它将退出。此外,您直接存储数字,而不是计算可被7整除的数字。

Program Divisible;
var n, s, i, x: integer;
begin
writeln('How many numbers will you type');
read(n);
s:=0;
I:=0;
while I < n do
begin
writeln('What are those numbers?');
read(x);
If x mod 7 = 0 then
begin
s := s + 1;
end;
I := I + 1;
end;
writeln('Numbers divisible by 7 are');
writeln(s);
end.

如果您需要的是显示每个单独的数字,那么您需要声明一个数组并将数字写入其中,因为以前您使用每个循环覆盖最后一个数字。

最新更新