编写程序在屏幕上输出一个星号组成的菱形,第一行为1个星,第二行为3个星
编写程序在屏幕上输出一个星号组成的菱形,第一行为1个星,第二行为3个星,第三行为5个星,.....,最后一行为为1个星,倒数二行为3个星,倒数三行为5个星,依次。菱形在屏...
编写程序在屏幕上输出一个星号组成的菱形,第一行为1个星,第二行为3个星,第三行为5个星,.....,最后一行为为1个星,倒数二行为3个星,倒数三行为5个星,依次。菱形在屏幕上的行数由用户输入指定,但不能超过20行。c语言的
展开
1个回答
展开全部
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 为 输出的行数.
绝对好使.希望对你有帮助.
{
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 为 输出的行数.
绝对好使.希望对你有帮助.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询