使用printf打开以下图形,要求printf一次只能打印一个字符。
*
***
*****
*******
*********
*******
*****
***
*
原代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,const char* argv[])
{
/*
// i表示每行空格的数量
for(int i=4; i>=0; i--)
{
// 打印每行的空格
for(int j=0; j<i; j++)
printf(" ");
// (5减掉空格的数量)*2-1就是每一行*的数量
for(int j=0; j<(5-i)*2-1; j++)
printf("*");
printf("\n");
}
for(int i=1; i<=4; i++)
{
for(int j=0; j<i; j++)
printf(" ");
for(int j=0; j<(5-i)*2-1; j++)
printf("*");
printf("\n");
}
代码里每行空格的数量 4 3 2 1 0 1 2 3 4 可以改成 abs([-4,4])
简化之后的代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,const char* argv[])
{
for(int i=-4; i<=4; i++)
{
for(int j=0; j<abs(i); j++)
printf(" ");
for(int j=0; j<(5-abs(i))*2-1; j++)
printf("*");
printf("\n");
}
return 0;
}