使用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");
}
}
我现在所介绍的是每个相邻菱形间都带有空格的代码。
习题及代码如下:
用*输出边长为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");
}
}
相关文章推荐
- 生理周期(c++实现)
- C++ 操作符赋值重载
- C语言VS编译环境中的resource file and source file的区别
- C语言实现双向链表删除节点、插入节点、双向输出等操作
- 单片机中C语言指针与变量
- C++中的运算符重载
- C++ 智能指针详解
- C++ 判断是大端存储还是小端存储
- 身份证校验(c++实现)
- 深入理解C语言
- C++延时程序
- 实例讲解C++中lambda表达式
- #Exception#Cpp引入异常的原因、关于异常的吐槽以及何时使用异常
- JNI编程(二) —— 让C++和Java相互调用(2)
- JNI编程(二) —— 让C++和Java相互调用(1)
- c++中的vector容器
- 我的C语言入门到精通之路 day03
- 黑马程序员---iOS基础---C语言中的预处理命令
- c++ 控制台流和字符串流
- c++ 控制台流和字符串流