盐山水木天成房价:如何打印这样的图形

来源:百度文库 编辑:高考问答 时间:2024/05/04 20:03:22
如何打印:
111111111
111121111
111232111
112343211
123454321
老师说可以拆分成:
1111 1 1111
111 121 111
111 12321 11
1 1234321 1
123454321
我做完之后,图形竟然不能拼出来!!!
求助诸位大侠!!谢谢!!!
用pASCAL来解答,谢谢!

for i:=1 to 5 do
begin
for j:=4 to i do write('1');
for j:=1 to i do write(j);
for j:=i-1 to 1 do write(j);
for j:=4 to i do write('1');
writeln
end;

实际上如果你不能使用递归或者循环算法在5行代码之内解决问题的话,最简单直观的方法就是
//Basic语言
Print 111111111
Print 111121111
Print 111232111
Print 112343211
Print 123454321

不知道你用什么写的,我用java写了个
class testPrint{
public static void main(String[] args){
for(int i=1;i<6;i++){//循环1-5
outLeft(i);//左边的1的输出
outMiddle(i);//中间数字输出
outRight(i);//右边1的输出
System.out.println();
}
}

private static void outLeft(int num){
for(int i=0;i<5-num;i++){
System.out.print("1");
}
}

private static void outRight(int num){
for(int i=0;i<5-num;i++){
System.out.print("1");
}
}

private static void outMiddle(int num){
for(int i=1;i<=num;i++){//正序输出
System.out.print(i);
}
for(int i=num-1;i>0;i--){//反序输出
System.out.print(i);
}
}
}