#include<stdio.h>
int main() {
int n;
void pyramid(int n);
printf("Enter n:");
scanf("%d", &n);
pyramid(n);
return 0;
}
void pyramid(int n) {
int j,i;
for (i = 1; i <= n; i++) {//确定行数
for (j = 1; j <= n - i; j++) {
printf(" ");//打印空格数
}
for (j = 1; j <= 2*i-1; j++) {
printf("%d", i);
}
printf("\n");
}
for (i = n-1; i >=1; i--) {//少一行打印
for (j = 1; j <= n-i; j++) {
printf(" ");
}
for (j = 1; j <= 2*i-1; j++) {
printf("%d", i);
}
printf("\n");
}
}
遇到金字塔,菱形等类型问题时,将它进行分解在循环中,寻找空格的规律,和所需打印字符的规律