本题目要求读入2个整数N和M,m表示小金字塔的行数,n代表大金字塔的层数。然后输出多层金字塔 输入格式: 输入在一行中正整数N和M 输出格式: 对每一组输入,显示对应的图案。 输入样例: 2 3 输出样例: #include <stdio.h> int main() { int n,m,x,y=0,s,b;// n大金字塔 m小金字塔 x控制2层以上金字塔里面的空格 int i,j,k,l;//y计算一层*号的个数 需要重新赋值; l层数控制最前面的空格 scanf("%d%d",&n,&m); for(l=n,b=1;l>0;l--,b++)//大金字塔的层数 { for(i=0,s=m-1;i<m;i++,s--)//小金字塔的层数 { y=0; for(k=l*m-i-1;k>0;k--) printf(" "); if(b>1) { for(j=0;j<(2*i+1)*b;j++) { printf("*"); y++; if(y==2*i+1&&j!=(2*i+1)*b-1) { y=0; for(x=s*2+1;x>0;x--) printf(" "); } } } else { for(j=0;j<2*i+1;j++) printf("*"); } printf("\n"); } } return 0; }