1. 程式人生 > 實用技巧 >C語言 | 心形表白神器

C語言 | 心形表白神器

例20:C語言實現打印出心形,初學者的表白神器。

解題思路:這道例題我分了4部分,前3行一部分,4-6行一部分,7-13行一部分,最後一行一部分,讀者請仔細閱讀註釋,小林寫的很詳細了。

前三行輸出,為了讓初學者知道,即使最笨的方法也是可以列印的。

4-6行,這三行輸出效果一樣。

for(i=0;i<3;i++)
   {
     for(j=0;j<29;j++)
     {
      printf("*");
    } 
     printf("\n");
  }

最後一行,只是輸出一個*。

for(i=0;i<14;i++)
  {
    printf(" "
); } printf("*\n");

原始碼演示,前三行程式碼樣式請參考上述截圖,文章中的原始碼空格有點小bug:

#include<stdio.h>//標頭檔案 
int main()//主函式入口 
{
  printf(" **** ****\n");//列印第一行 
   printf(" ********* *********\n");//列印第二行 
   printf("************* *************\n");//列印第三行 
   int i,j;//定義變數 
   for(i=0;i<3;i++)//列印4-6行,一共3行,因此i小於3 
   {
     
for(j=0;j<29;j++)//限制每行輸出*的個數 { printf("*");//這三行只打印*號,無空格輸出 } printf("\n");//列印完一行需要進行換行 } for(i=0;i<7;i++) //列印7-13行,一共7行,因此i小於7 { for(j=0;j<2*(i+1)-1;j++)//這個for迴圈和下面的for是並列的 { printf(" ");//列印空格 } for(j=0;j<27-i*4;j++)//讀者可以帶入幾個數找出條件 { printf(
"*");//列印* } printf("\n"); } for(i=0;i<14;i++)//列印最後一行的* { printf(" ");//列印空格 } printf("*\n") ;//列印* return 0; }

編譯執行結果如下:


上述程式碼中的*,讀者可以自行替換,讀者可以用這個符號替換試試♥,看是否可行,自己動腦思考一下。


第二種表白原始碼演示:

#include<stdio.h>//標頭檔案 
#include<math.h>//為了引用pow函式 
int main()//主函式入口 
{
   float y, x, z;//定義浮點型變數 
   printf("獨時想起你\n");//提示語句 
   printf("落淚時想摟住你\n");//提示語句 
   printf("開心時想撲向你\n");//提示語句 
   printf("興奮時想吻你\n");//提示語句 
   printf("一切盡在這三個字簽名沒有簽上\n");//提示語句 
   printf("\n");//換行 
   for (double y = 2.5; y >= -1.6; y = y - 0.2)
   {
     for (double x = -3; x <= 4.8; x = x + 0.1)
     {
       //下面是個三目運算,讀者請仔細看下,||這個是或 
        (pow((x*x + y*y - 1), 3) <= 3.6*x*x*y*y*y
        || (x>-2.4 && x<-2.1 && y<1.5 && y>-1)
          || (((x<2.5 && x>2.2) || (x>3.4 && x<3.7)) && y>-1 && y<1.5)
         || (y>-1 && y<-0.6 && x<3.7 && x>2.2)) ? printf("*") : printf(" ");
     }
     printf("\n");//換行 
   }
   getchar();
   return 0;//函式返回值為0 
}

編譯執行結果如下:


C語言打印出心形的方法有很多,讀者可以自己多嘗試嘗試,即使一行一行用printf也是一種方式,小林能幫你的只能到這了,女朋友還是要自己找~

C語言學習路線

C語言開發工具

C語言| 心形表白神器