您的位置:首页 > 编程语言 > C语言/C++

使用C语言,利用for循环打印菱形(每个相邻菱形都要带空格)

2015-07-30 22:34 483 查看
之前看到网上的一些文章介绍如何打印菱形,但是和我当时题目要求的却不一样,网上的代码输出出来时每个相邻菱形并没有带空格。

我现在所介绍的是每个相邻菱形间都带有空格的代码。

习题及代码如下:

用*输出边长为n的实心菱形。
*
* *
* * *
* *
*

printf("请输入一个整数:");
int n = 0;
scanf("%d",&n);

//打印行数,注意必须是奇数行所以是2n-1

for (int i = 1; i <= 2*n - 1; i++)
{

//abs()是绝对值函数,每行的空格数=|n-行数|。注意这里的空格数指的是*号之前的空格数!!
for (int j = 1; j <= abs(n - i); j++)

{
printf(" ");

}

//每行的“*”=n-|n-i|。注意因为除了第一行和最后一行外,其余行都需要打印多个*,所以只需要在*后面加入空格即可。

for (int k = 1; k <= n - abs(n -i); k++)

{
printf("* ");
}
printf("\n");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: