回 帖 发 新 帖 刷新版面

主题:没事情,问个题目

在屏幕上打印如下图形,使用FOR循环就行了
ABCDE
BCDEA
CDEAB
DEABC
EABCD

别楞在哪,偶没开玩笑,偶需要的完整的代码,好了,就说到这`我只给第一个发出有用程序的人分数(算法上也存在优先原则)

回复列表 (共6个回复)

沙发

程序如下:
var
a:array[1..5] of char;
i,j,wei:integer;
begin
a[1]:='A';
a[2]:='B';
a[3]:='C';
a[4]:='D';
a[5]:='E';
for i:=1 to 5 do
begin
wei:=i;
for j:=1 to 5 do
begin
write(a[wei]);
wei:=wei+1;
if wei>=6 then wei:=1;
end;
writeln;
end;
end.

板凳

给你个通用的!
输入个数如你的例子就是5.
var
a:array[1..26] of char;
n,i,j,wei:integer;
begin
readln(n);
for i:=1 to n do
a[i]:=chr(i+64);
for i:=1 to n do
begin
wei:=i;
for j:=1 to n do
begin
write(a[wei]);
wei:=wei+1;
if wei=n+1 then wei:=1;
end;
writeln;
end;
end.

3 楼

谢了谢了。

4 楼

表谢`偶说过就会兑现的

5 楼

原来magicG也有这么无聊的时候~

6 楼

呵呵``偶尔再无聊一下``:
var
a:array[1..5] of char;
i,j,wei:integer;
begin
a[1]:='A';
a[2]:='B';
a[3]:='C';
a[4]:='D';
a[5]:='E';
for i:=1 to 5 do
begin
wei:=i;
for j:=1 to 5 do
begin
write(a[wei]);
wei:=wei+1;{改成inc(wei)更简洁`}
if wei>=6 then wei:=1;{wei真的会大于6么?把>去掉啦`}
end;
writeln;
end;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册