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

编写程序在屏幕上输出一个星号组成的菱形,第一行为1个星,第二行为3个星,第三行为5个星,.....,最后一行为为1个星,倒数二行为3个星,倒数三行为5个星,依次。菱形在屏幕上的行数由用户输入指定,但不能超过20行。c语言的

第1个回答  2012-08-27
void work(int nWor)
{
int xMax = nWor;
for (int i = 0;i<nWor;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 为 输出的行数.
绝对好使.希望对你有帮助.本回答被提问者采纳
相似回答