指教啊!!!是用循环做吗?
编程输出这个:*
***
*****
*******
*****
***
*
#include<stdio.h> void main() { int i,j,k; for(i=0;i<4;i++)//这里的循环是首先输出前面的4行 { for(k=0;k<3-i;k++)//每一行输出空格的个数 { printf(" "); } for(j=0;j<2*i+1;j++)//每一行输出星号的个数 { printf("*"); } printf("\n"); } for(i=0;i<3;i++)//后三行输出情况 { for(k=0;k<i+1;k++) { printf(" "); } for(j=0;j<=4-2*i;j++) { printf("*"); } printf("\n"); } }
#include <stdio.h> void main() { //1.定义变量 int nH = 7; // 行高 int nA = 0; // 前导空格数 int nB = 0; // 每行的星号数 int nC = 0; // 行数 int nL = 40;// 图形中心位置 //2.设置初始值 nA = nL; nB = -1; //3.打印图形 for(nC = 0; nC <= nH; nC = nC + 1) { //3.1.计算每行的前导空格数和星号数 if(nC <= nH / 2) { nA = nA -1; nB = nB + 2; }else { nA = nA + 1; nB = nB - 2; } // 3.2.打印前导空格 for(int nI =1; nI <= nA; nI = nI + 1) { printf(" "); } // 3.3.打印本行星号 for( nI =1; nI <= nB; nI = nI + 1) { printf("*"); } //3.4. 换行 printf("\n"); } }
#include <stdio.h> void main() { //1.定义变量 int nH = 7; // 行高 int nA = 0; // 前导空格数 int nB = 0; // 每行的星号数 int nC = 0; // 行数 int nL = 40;// 图形中心位置 //2.设置初始值 nA = nL; nB = -1; //3.打印图形 for(nC = 0; nC <= nH; nC = nC + 1) { //3.1.计算每行的前导空格数和星号数 if(nC <= nH / 2) { nA = nA -1; nB = nB + 2; }else { nA = nA + 1; nB = nB - 2; } // 3.2.打印前导空格 for(int nI =1; nI <= nA; nI = nI + 1) { printf(" "); } // 3.3.打印本行星号 for( nI =1; nI <= nB; nI = nI + 1) { printf("*"); } //3.4. 换行 printf("\n"); } }