C语言倒金字塔编程资料
项目一 套含空心金字塔图案 项目分析 1.输入一个程序判断奇偶性 奇数 不变 偶数 加一 2.先输出三角型前面的空格 推出公式:n+1-i 3.把空心三角形分为两部分 输出, 红色为正常输出, 蓝色为特殊输出。 4.在特殊输出是调用fun 正常输出时调用fun2 5.特殊输出时 输出“*” 输出“ ” 输出“*” “*”号满足公式: 2*(i-m+2)-1 “ ”满足公式: 2*i-1-2*[2*(i-m+2)-1] 6.正常输出时 满足公式:2*i-1 7.每行最后输出换行 * *** ***** ******* ********* *********** *** *** ***** ***** ******* ******* ********* ********* ********************* 流程图 Fun(i,m)的调用程序框图 Fun2(i)的调用程序框图 源程序 #include int fun(int i,int m) { int j; for(j=1;j<=2*(i-m+2)-1;j++) //输出“*” printf("*"); for(j=1;j<=4*m-2*i-7;j++) printf(" ");//2*i-1-2*[2*(i-m+2)-1] for(j=1;j<=2*(i-m+2)-1;j++) printf("*"); return 0; } main() {int n,i,j,m; printf("输入行数:"); scanf("%d",&n); if(n/2==0) //判断输入层数的奇偶 n=n+1; m=n/2+2;//m为判断层数变化的界限 for(i=1;i<=n;i++) { for(j=1;j=m&&i<=n-1) fun(i,m); //调用含有空心行的语句 else fun2(i); //调用正常的语句 printf("\n"); } return 0; } 运行结果 谢 谢 观 看么么哒 * *