Pascal 打印帕斯卡模式
请帮我打印这个图案,并解释其背后的逻辑。先谢谢你Pascal 打印帕斯卡模式,pascal,Pascal,请帮我打印这个图案,并解释其背后的逻辑。先谢谢你 0 111 22222 3333333 我的Pascal代码是: program patnum; uses crt; var row, col1, col2, totalRows, totalCol: integer; Begin clrscr; tot
0
111
22222
3333333
我的Pascal代码是:
program patnum;
uses crt;
var
row, col1, col2, totalRows, totalCol: integer;
Begin
clrscr;
totalRows := 3;
totalCol := totalRows-2;
for row := 0 to totalRows do
begin
for col1 := 0 to totalCol do
begin
write(' ');
end;
totalCol := totalCol - 1;
for col2 := 0 to row do
begin
write(row);
end;
writeln('');
end;
readln;
End.
*请帮助*这似乎真的是一个编程练习。然而,这是:
Program patnum(output);
function digitNumber(n:integer) : integer;
var counter : Integer;
begin
counter := 0;
while n >= 1 do
begin
counter := counter + 1;
n := n div 10;
end;
digitNumber := counter;
end;
procedure prettyPrint(x1 : integer; x2 : integer; x3 : integer; x4 : integer);
var Counter, max, tmp : Integer;
Begin
max := digitNumber(x1);
tmp := digitNumber(x2);
if(tmp > max) then
begin
max := tmp;
end;
tmp := digitNumber(x3);
if(tmp > max) then
begin
max := tmp;
end;
tmp := digitNumber(x4);
if(tmp > max) then
begin
max := tmp;
end;
tmp := max - digitNumber(x1);
For Counter := 1 to tmp do
Begin
write(' ');
End;
writeln(x1);
tmp := max - digitNumber(x2);
For Counter := 1 to tmp do
Begin
write(' ');
End;
writeln(x2);
tmp := max - digitNumber(x3);
For Counter := 1 to tmp do
Begin
write(' ');
End;
writeln(x3);
tmp := max - digitNumber(x4);
For Counter := 1 to tmp do
Begin
write(' ');
End;
writeln(x4);
End;
begin
prettyPrint(22,3333,1,534);
end.
我建议使用一个数组来保存要打印的值,但我把它留给你
此外,您的代码似乎几乎毫无用处
*编辑:请注意,该函数在整数<1时失败。我确信有一种更简单的方法可以做到这一点,但如果您只是想努力完成它,这应该会有所帮助
var
t : integer
begin
t := 6
for x := 0 to t do
begin
write(" ");
end;
write("0");
writeln;
t := 4;
for x := 0 to t do
begin
write(" ");
end;
write("111");
writeln;
t := 2;
for x := 0 to t do
begin
write(" ");
end;
write("22222");
writeln;
t := 0;
for x := 0 to t do
begin
write(" ");
end;
write("3333333");
end.
你能告诉我怎样才能拥有好的编码技能吗?你可以通过阅读像easy logic这样的教程和自己编程来提高你的编码技能。如果你真的想成为一名优秀的程序员,你必须玩弄代码,尝试并搜索一些你可以解决的新任务。谢谢你a.拉玛,我对pascal编程还不熟悉,但是我的任务是打印模式,你给的好处不是在Turbo pascal中工作。什么是好的编译器?好的,我纠正了其中的几个错误,所有这些都是因为我的上一个pascal程序已经20年了:D你不能自己纠正它们吗?不管怎么说,这次我经常测试我的代码,很久以前我就没有pascal编译器了。我试过了,但没用,我试过了,谢谢你的建议。帕斯卡已经很老了,互联网上很少有消息来源。如果它有效,请投票并接受我的答案。它有效,我不能投票,因为它需要15个声誉。