输出菱形的思想主要是用了等差数列 an = a1 + (n - 1) * d 来求每个循环的约束条件;
一个完整的菱形必须是由空格 、星形 来组成,切分为两部分。
题目效果如下:
//要求输出如下图形
*
***
*****
***
*
代码如下:
#include "stdio.h"
int main(){
int i,j;
//开始第一部分
for(i = 1; i <= 3; i++){
//输出第一部分空格
for(j = 1; j <= (4 - i); j++){
printf(" ");
}
//输出第一部分星号
for(j = 1;j <= (-1 + 2 * i); j++){
printf("*");
}
printf("\n");
}
//开始第二部分
for(i = 1; i <= 2; i++){
//输出第二部分空格
for(j = 1;j <= ( 2 + i - 1 );j++){
printf(" ");
}
//输出第二部分星号
for(j = 1;j <= ( 5 - 2 * i );j++){
printf("*");
}
printf("\n");
}
return 0;
}
效果如下: