上半部分:(i从0开始)
各行" "的个数为:n-1-i;
各行"*"的个数为:2*i + 1;
下半部分:(i从0开始)
各行" "的个数为:i+1
各行"*"的个数为:2*n - 3 - 2*i
更改main函数中Show函数的参数就可以得到不同行数的菱形。
#include<stdio.h>
#include<windows.h>
void Show(int n)
{
//上半部
int i = 0;
for (; i < n; i++){
int j = 0;
for (; j < n - 1 - i; j++){
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++){
printf("*");
}
printf("\n");
}
//下半部
for (i = 0; i < n - 1; i++){
int j = 0;
for (; j < i + 1; j++){
printf(" ");
}
for (j = 0; j < 2 * n - 3 - 2 * i; j++){
printf("*");
}
printf("\n");
}
}
int main()
{
Show(7);
system("pause");
return 0;
}