寫一個程序,使用for循環列印中心有名字的心形圖案。
使用者必須輸入應在中心列印的名稱以及必須列印星星的行數。
請參閱下面給出的演算法,以以下方式列印心形圖案中的名稱:使用 for 迴圈。
第 1 步 - 宣告變數。
第 2 步 - 在運行時讀取應印在中心的名稱。
第 3 步 - 讀取行數。
第 4 步 - 計算名稱的長度。
第 5 步 - 列印心形的上半部。
第 6 步 - 列印下半部
第 7 步 - 在螢幕上列印名稱。
以下是使用for 來以心形圖案列印名稱的C 程式循環-
現場示範
#include <stdio.h> #include <string.h> int main(){ int i, j, n; char name[50]; int len; printf("Enter your name: "); gets(name); printf("Enter no of rows: "); scanf("%d", &n); len = strlen(name); // Print upper part of the heart shape with stars for(i=n/2; i<=n; i+=2){ for(j=1; j<n-i; j+=2){ printf(" "); } for(j=1; j<=i; j++){ printf("*"); } for(j=1; j<=n-i; j++){ printf(" "); } for(j=1; j<=i; j++){ printf("*"); } printf("</p><p>"); } // Prints lower triangular part with stars for(i=n; i>=1; i--){ for(j=i; j<n; j++){ printf(" "); } // Print the name on screen if(i == n){ for(j=1; j<=(n * 2-len)/2; j++){ printf("*"); } printf("%s", name); for(j=1; j<(n*2-len)/2; j++){ printf("*"); } }else{ for(j=1; j<=(i*2)-1; j++){ printf("*"); } } printf("</p><p>"); } return 0; }
#執行上述程式時,會產生以下輸出-
Enter your name: Tutorials POint Enter no of rows: 10 ***** ***** ******* ******* ********* ********* **Tutorials POint* ***************** *************** ************* *********** ********* ******* ***** *** *
以上是使用for循環列印姓名在心形圖案中的C程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!