題目描述 KiKi 學會了 printf 在屏幕輸出信息,他想輸出一架小飛機。請幫他編寫程式輸出這架小飛機。 輸入描述 無 輸出描述 解題思路 方案一 將小飛機的圖形按照行進行劃分,總共可以分成 6行。然後依照每行空格與 * 的排布位置輸出相應的字元即可。 具體代碼如下: #include <std ...
題目描述
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
中的判斷條件是怎麼得到的,問就是我一個個數出來的,尋找規律嘛。
本文作者:main工作室
本文鏈接:https://www.cnblogs.com/main-studio/p/17054921.html
版權聲明:本文為「main工作室」的原創文章,遵循 CC BY-NC-ND 4.0 版權協議,著作權歸作者所有,轉載請註明出處!
鼓勵博主:如果您覺得文章對您有所幫助,可以點擊文章右下角【推薦】一下。您的鼓勵就是博主最大的動力!