1038 打印图案
时间限制:1000MS 代码长度限制:10KB
提交次数:4316 通过次数:2828
题型: 编程题 语言: G++;GCC
Description
由键盘输入正数n(n<10),要求输出如下中间数字为n的菱形图案。
输出格式
菱形右边不留多余空格
输入样例
4
输出样例
1 121 12321 1234321 12321 121 1
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,n,m;
scanf("%d",&n);
for(i=0;i<(n-1);i++)//上半部分的外层循环,i控制行数
{
m=i;
for(j=0;j<(n-1-i);j++)//内层循环,控制列数
{
printf(" ");
}
for(j=1;j<(i+2);j++)
{
printf("%d",j);
}
for(j=0;j<i;j++)
{
printf("%d",m);
m-=1;
}
printf("\n");
}
for(j=1;j<=n;j++)//中间的循环的前半部分
{
printf("%d",j);
}
for(j=n-1;j>=1;j--)//中间的循环的后半部分
{
printf("%d",j);
}
printf("\n");
for(i=0;i<(n-1);i++)//下半部分的外层循环,i控制行数
{
m=n-i-2;
for(j=0;j<(i+1);j++)//内层循环,控制列数
{
printf(" ");
}
for(j=1;j<=(n-i-1);j++)
{
printf("%d",j);
}
for(j=0;j<(n-i-2);j++)
{
printf("%d",m);
m-=1;
}
printf("\n");
}
return 0;
}