急!两道简单的pascal编程题,请高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/09/19 16:15:23
1、读入一串字符,以句号结束,然后让其倒序输出。

2、 设有n个人坐成一圈,并且按照顺时针方向从1到n编号,由第1个人开始进行从1到m的报数,报数到第m个人时,此人出圈,再从下一个人重新开始从1到m报数,如此进行下去,直到所有的人都出圈为止。现在要求编程打印出圈的顺序,并且在第二项打印最后一个出圈的编号。输入n=10 ,m=4
输出:4-->8--->2-->7--->3-->10-->9--->1-->6-->5

第一题
program
var
a:array[1..1000]if onteger;
i,j:integer;
begin
i:=0;
repeat
i:=i+1;
read(a[i]);
until a[i]='.'
for j:=i downto 1 do
witeln(a[j]);
end.
第二题
program monkey;

{$mode objfpc}{$H+}

uses
Classes, SysUtils
{ add your units here };
type
point=^node;
node=record
date:integer;
next:point;
end;
var
h,p,q:point;
i,j,n,m:integer;
begin
readln(m,n);
new(h);
h^.date:=1;
p:=h;
for i:=2 to m do
begin
new(q);
p^.date:=i;
p^.next:=q;
p:=p^.next;
end;
p^.next:=h;
p:=p^.next;
for i:=1 to m-1 do
begin
for j:=1 to n do
p:=p^.next;
q:=p^.next^.next;
p^.next:=q;
end;
writeln(p^.date);
end.
约瑟夫问题应该用指针做最简单

第一题:

program fhq(input,output