编写一个程序打印如下对称图形(行数由键盘输入1-9范围的值),例如下面是输入数字4时的情形:
首先提示输入:“Enter n(1-9):\n”
输入格式:"%d"
(提醒:每一行数字结束后直接回车,没有空格)
例如:
Enter n(1-9):
4
4444444
33333
222
1
222
33333
4444444
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a , b , i , j , k , m ;
int counter =0 ;
printf("Enter n(1-9):\n");
scanf("%d",&a);
m = a;
//上半部分
for(i=0;i<a;i++)
{
b = 2*m-1 ;
for(j=0;j<i;j++)
printf(" ");
for(k=0;k<b;k++)
printf("%d",a-counter);
printf("\n");
counter++;
m--;
}
for(i=0;i<a-1;i++)
{
if(i==0)
{
m++;
counter--;
}
m++;
counter--;
b = 2*m-1 ;
for(j=0;j<counter;j++)
printf(" ");
for(k=0;k<b;k++)
printf("%d",a-counter);
printf("\n");
// m++;
}
return 0;
}
这个可以参考之前写的打菱形的代码