题目描述
KiKi 学会了 printf 在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。
输入描述
无
输出描述
解题思路
方案一
将小飞机的图形按照行进行划分,总共可以分成 6行。然后依照每行空格与 * 的排布位置输出相应的字符即可。
具体代码如下:
#include <stdio.h>
int main()
{
printf(" **n"); /* 依照图形,逐行进行输出 */
printf(" **n");
printf("************n");
printf("************n");
printf(" * *n");
printf(" * *n");
return 0;
}
方案二
也可以将 6 条 printf
中的语句整合为一条。
具体代码如下:
#include <stdio.h>
int main()
{
printf(" **n **n************n************n * *n * *n");
return 0;
}
方案三
方案一和方案二的代码简单直观,当然像这种输出图形的题目,我们也可以通过循环语句进行实现。
具体代码如下:
#include <stdio.h>
int main()
{
int x = 0, y = 0;
for (x = 0; x < 2; x++) /* 控制输出 x 行 */
{
for (y = 0; y < 7; y++) /* 控制输出 x 行的 y 列 */
{
if (y < 5) /* 控制输出 y 列中的' ' */
{
putchar(' ');
}
else /* 控制输出 y 列中的'*' */
{
putchar('*');
}
}
putchar('n'); /* 回车换行 */
}
for (x = 0; x < 2; x++) /* 3、4 行 */
{
for (y = 0; y < 12; y++)
{
putchar('*');
}
putchar('n');
}
for (x = 0; x < 2; x++) /* 5、6 行 */
{
for (y = 0; y < 8; y++)
{
if ((y < 4) || (y == 5) || (y == 6))
{
putchar(' ');
}
else
{
putchar('*');
}
}
putchar('n');
}
return 0;
}
不要问 for
、if
中的判断条件是怎么得到的,问就是我一个个数出来的,寻找规律嘛。
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!