C语言编程练习4:镂空三角形

解题思路:找字符位置的规律。除了最后一行为2n-1个字符全部输出,其余行的字符位置满足pos1==n+i-1和pos2=n-i+1(i为行数,从1开始)
#include <stdio.h>
using namespace std;
int main()
{
char a;
int n;
while((a=getchar())!='@')
{
scanf("%d",&n);
getchar();//记住这一句不能省,否则会在第二次输入时a直接变成\n(换行符)!
for(int i=1;i<n;i++)
{
for(int j=1;j<=n+i-1;j++)
{
if(j==n-i+1||j==n+i-1)
{
printf("%c",a);
}
else
{
printf(" ");
};
};
printf("\n");
};
for(int m=1;m<2*n;m++)
{
printf("%c",a);
};
printf("\n");
printf("\n");
}
return 0;
}

浙公网安备 33010602011771号