C语言实验——打印数字图形

C语言实验——打印数字图形

时间: 1ms        内存:64M

描述:

从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。

输入:

正整数n(1≤n≤9)。

输出:

指定数字图形。

示例输入:

5

示例输出:


    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1

提示:

参考答案(内存最优[748]):

#include<stdio.h>
void f(int n,int t){
	if(t==n){
		return ;
	}
	printf("%d",t);
	f(n,++t);
	printf("%d",t);
}
int main(){
	int n,i,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		int t=1;
		for(j=0;j<n-i;j++)
			printf(" ");
		f(i,t);
		printf("1\n");
	}
	for(i=n-1;i>=1;i--){
		int t=1;
		for(j=0;j<n-i;j++)
			printf(" ");
		f(i,t);
		printf("1\n");
	}
	return 0;
}

参考答案(时间最优[0]):

#include <iostream> 
using namespace std; 
int main() 
{ 
    int i,j,k,l,n; 
	while(cin>>n&&(n>=1&&n<=9))
	{
		for(i=1;i<=n;i++) 
		{ 
			for(j=1;j<=n-i;j++) 
			{ 
				cout<<" "; 
			} 
			for(k=1;k<=i;k++) 
			{ 
				cout<<k; 
			} 
			for(l=i-1;l>=1;l--) 
			{ 
				cout<<l; 
			} 
			cout<<endl; 
		} 
		for(i=1;i<n;i++) 
		{ 
			for(j=1;j<=i;j++) 
			{ 
				cout<<" "; 
			} 
			for(k=1;k<=n-i;k++) 
			{ 
				cout<<k; 
			} 
			for(l=n-i-1;l>=1;l--) 
			{ 
				cout<<l; 
			}
			if(i<n-1)
			{
				cout<<endl;
			}
		}
    } 
    return 0; 
} 

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注