使用WHILE检查数字是否可被7/turbo pascal整除

使用WHILE检查数字是否可被7/turbo pascal整除,pascal,Pascal,对不起,伙计们,我不知道如何复制,所以我将不得不发布图片。 基本上对于我的分配,我必须使用,而我在某处出错,但我似乎找不到它。 我编译它,然后运行它,输入5个数字,(2,14,9,7,1),它只打印一个可以被7整除的数字。 [1]: [2]: 编辑:我有文本,所以你不必检查 程序可分; 变量n,s,i,x:整数; 开始 writeln('您将键入多少个数字'); 读取(n); 开始 s:=0; I:=1; 结束; 而我 开始 writeln(‘这些数字是什么?’); 读(x); 如果x mo

对不起,伙计们,我不知道如何复制,所以我将不得不发布图片。 基本上对于我的分配,我必须使用,而我在某处出错,但我似乎找不到它。 我编译它,然后运行它,输入5个数字,(2,14,9,7,1),它只打印一个可以被7整除的数字。 [1]: [2]: 编辑:我有文本,所以你不必检查

程序可分;
变量n,s,i,x:整数;
开始
writeln('您将键入多少个数字');
读取(n);
开始
s:=0;
I:=1;
结束;
而我
开始
writeln(‘这些数字是什么?’);
读(x);
如果x mod 7=0,则
开始
s:=x+0/帮助
结束;
I:=I+1;
结束;
writeln(‘可被7整除的数字是’);
书面文件(s);;
结束。

首先,您需要将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.
程序可分;
变量n,s,i,x:整数;
开始
writeln('您将键入多少个数字');
读取(n);
s:=0;
I:=0;
而我
开始
writeln(‘这些数字是什么?’);
读(x);
如果x mod 7=0,则
开始
s:=s+1;
结束;
I:=I+1;
结束;
writeln(‘可被7整除的数字是’);
书面文件(s);;
结束。

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

请学习正确缩进代码。它使代码更易于阅读和理解,并且在将来您试图跟踪执行流以定位问题时,它将为您提供极大的帮助。有关正确格式如何提高可读性的示例,请参阅。您是否知道如何在程序结束时打印数字可被7整除的结果。对于数字2,9,14,7,1,这有点棘手,因为如果使用整数变量,它将覆盖每个循环。最好的解决方案是为整数声明一个数组,如果一个数字可以被7整除,则将其添加到此数组中。