主题:没事情,问个题目
MagicG
[专家分:650] 发布于 2005-08-05 11:10:00
在屏幕上打印如下图形,使用FOR循环就行了
ABCDE
BCDEA
CDEAB
DEABC
EABCD
别楞在哪,偶没开玩笑,偶需要的完整的代码,好了,就说到这`我只给第一个发出有用程序的人分数(算法上也存在优先原则)
回复列表 (共6个回复)
沙发
闪电123 [专家分:470] 发布于 2005-08-05 11:28:00
程序如下:
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.
板凳
闪电123 [专家分:470] 发布于 2005-08-05 11:35:00
给你个通用的!
输入个数如你的例子就是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 楼
闪电123 [专家分:470] 发布于 2005-08-05 11:35:00
谢了谢了。
4 楼
MagicG [专家分:650] 发布于 2005-08-05 11:36:00
表谢`偶说过就会兑现的
5 楼
口口and枕头 [专家分:1550] 发布于 2005-08-05 13:06:00
原来magicG也有这么无聊的时候~
6 楼
MagicG [专家分:650] 发布于 2005-08-05 14:00:00
呵呵``偶尔再无聊一下``:
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.
我来回复