1. 程式人生 > 其它 >bilibiliclass47_C語言_在螢幕上輸出以下圖案V3.0

bilibiliclass47_C語言_在螢幕上輸出以下圖案V3.0

技術標籤:C語言_嗶哩嗶哩課堂筆記

1.在螢幕上輸出以下圖案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*

V3.0

極大提高程式的可拓展性

通過控制列印的空格數以及*數打到列印任意行數的要求

/*
      *6個空格1個*  line-1-i個空格2*i+1個*
     ***5個空格3個*
    *****4個空格5個*
   *******3個空格7個*
  *********2個空格9個*
 ***********1個空格11個*
*************0個空格13個*
 ***********
  *********
   *******
    *****
     ***
      *
*/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int line = 0;
    printf("請輸入要列印的上半行行數:>");
    scanf("%d", &line);
    //列印上半部分
    int i = 0;
    for (i = 0; i < line; i++)
    {
        //1.列印空格
        int j = 0;
        for (j = 0; j < line - 1 - i; j++)
        {
            printf(" ");
        }
        //2.列印*
        for (j = 0; j < 2 * i + 1; j++)
        {
            printf("*");
        }
        //3.換行
        printf("\n");
    }

    //列印下半部分
    for (i = 0; i < line - 1; i++)
    {
        int j = 0;
        //1.列印空格
        for (j = 0; j < i + 1; j++)
        {
            printf(" ");
        }
        //2.列印*
        for (j = 0; j < 2 * (line - 2 - i) + 1; j++)
        {
            printf("*");
        }
        //3.換行
        printf("\n");
    }
    return 0;
}

V2.0

c在兩個引號之間可以預設連線

puts函式:puts()函式會在字串末尾自動的新增換行符,也就是說它會自動的換行,而printf()函式就沒有這項功能。

puts()函式只能輸出字串,不能進行標準化的輸出與轉換說明,而printf()函式可以。printf()函式進行轉換說明

#include <stdio.h>
int main() {
  puts(
  "      *\n"
  "     ***\n"
  "    *****\n"
  "   *******\n"
  "  *********\n"
  " ***********\n"
  "*************\n"
  " ***********\n"
  "  *********\n"
  "   *******\n"
  "    *****\n"
  "     ***\n"
  "      *");
  return 0;
}

V1.0

#include<stdio.h>

int main()

{

printf("      *\n");

printf("     ***\n");

printf("    *****\n");

printf("   *******\n");

printf("  *********\n");

printf(" ***********\n");

printf("*************\n");

printf(" ***********\n");

printf("  *********\n");

printf("   *******\n");

printf("    *****\n");

printf("     ***\n");

printf("      *\n");

    return 0;

}