编写程序在屏幕上输出一个星号组成的菱形,第一行为1个星,第二行为3个星

2024-11-08 21:25:31
推荐回答(1个)
回答(1):

void work(int nWor)
{
int xMax = nWor;
for (int i = 0;i {
int lrwx = ((nWor-1)/2 * 2) + 1; //输出一行中 * 最大数
int drwx = (i<= (lrwx/2)) ? (i*2 + 1) : (-(i-lrwx/2 - (nWor%2 == 0))*2 + lrwx); //输出当行中 * 的个数
for (int j = 0;j< lrwx; j ++)
{
if (j < (lrwx - drwx)/2 || j >= (lrwx - drwx)/2 + drwx)
printf(" ");
else
printf("*");
}
printf("\n");
}
}

参数nWor 为 输出的行数.
绝对好使.希望对你有帮助.