1025 - 打印数字图形

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

先要求你从键盘输入一个整数n(1<=n<=9),打印出指定的数字图形。

题目输入

输入包含多组测试数据。每组输入一个整数n(1<=n<=9)。

题目输出

对于每组输入,输出指定的数字图形。
注意:每行最后一个数字后没有任何字符。

输入/输出样例

输入格式

5

输出格式

    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1

C语言解答

#include<stdio.h>

int main() 
{
	int i,j,n;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		{
			for(j=i;j<n-1;j++)
				printf(" "); 
			for(j=0;j<=i;j++)
				printf("%d",j+1);
			for(j=i;j>0;j--)
				printf("%d",j);
			printf("\n");
		}
		for(i=1;i<=n-1;i++)
		{
			for(j=1;j<=i;j++)
				printf(" ");
			for(j=0;j<n-i;j++)
				printf("%d",j+1);
			for(j=n-i-1;j>0;j--)
				printf("%d",j);
			printf("\n");
		}
	}
	return 0;
}

C++解答

#include<stdio.h>

int main() 
{
	int i,j,n;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		{
			for(j=i;j<n-1;j++)
				printf(" "); 
			for(j=0;j<=i;j++)
				printf("%d",j+1);
			for(j=i;j>0;j--)
				printf("%d",j);
			printf("\n");
		}
		for(i=1;i<=n-1;i++)
		{
			for(j=1;j<=i;j++)
				printf(" ");
			for(j=0;j<n-i;j++)
				printf("%d",j+1);
			for(j=n-i-1;j>0;j--)
				printf("%d",j);
			printf("\n");
		}
	}
	return 0;
}

Java解答

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while(in.hasNext()){
			int n = in.nextInt();
			String[] ss = new String[n];
			for(int i=0;i<n;i++){
				StringBuffer sb = new StringBuffer();
				for(int j=0;j<i;j++)sb.append(" ");
				int cou = 1;
				for(int j=i;j<n;j++){
					sb.append(cou);
					cou++;
				}
				cou-=2;
				while(cou>0){
					sb.append(cou);
					cou--;
				}
				ss[i] = sb.toString();
			}
			for(int i=n-1;i>0;i--)System.out.println(ss[i]);
			for(int i=0;i<n;i++)System.out.println(ss[i]);
		}
	}

}

Python解答

import sys
  
for line in sys.stdin:
    data = int(line.split()[0])
    for i in range(1,data+1):
         a = ''.join([str(j) for j in range(1,i+1)])
         b = ''.join([str(j) for j in range(1,i)[::-1]])
         print ' '*(data-i)+a+b
    for i in range(1,data)[::-1]:
         a = ''.join([str(j) for j in range(1,i+1)])
         b = ''.join([str(j) for j in range(1,i)[::-1]])
         print ' '*(data-i)+a+b