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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。