输出空心菱形:
*
* *
**
**
**
**
**
* *
*
或者以指定的图形输出.
输出此菱形
方法一:可以使用一个for循环解决, 不过算法不容易理解.
方法二:把菱形拆分成两部分,分别输出上半部分和下半部分.
【输出空心菱形问题.】
#import
void putDiamond(int line , char c)
{
int middle = 0;
middle = line / 2 ;
for (int i = 0;
i< middle;
i++)
{
for (int j = 1;
j<= middle-i ;
j++)
{
printf(" ");
}
if(i == 0)
{
printf("%c\n", c);
continue ;
}
printf("%c",c);
for (int j = 1;
j <= 2*i-1;
j++)
{
printf(" ");
}
printf("%c\n",c);
}
for (int i = middle ;
i >= 0 ;
i--)
{for (int j = 0;
j < middle -i;
j++)
{
printf(" ");
}
if (i == 0)
{
printf("%c\n", c);
break;
}
printf("%c",c);
for (int j = 0;
j<2*i-1 ;
j++ )
{
printf(" ");
}
printf("%c\n",c);
}
}int main(int argc, const char * argv[])
{
int line = 0;
char c = 0;
printf("请输入菱形行数,及图案: ");
scanf("%d %c",&line , &c);
putDiamond(line,c);
return 0;
}
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 个人理解|【C语言基础之类型转换】
- c语言|【C语言】自定义类型 结构体 枚举 联合
- 学习分享|【C语言函数基础】