用“*”列印出n行菱形狀圖
用“*”列印出n行菱形狀圖
程式碼:(vs2013)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void main()
{
int n;
printf("請輸入要列印*的層數:\n");
scanf("%d", &n);
if (n == 1)
{
printf("*\n");
return 0;
}
if (n % 2 == 0)
{
printf("輸入不合法!\n");
return 0;
}
n = n / 2+1;
int x = n;
while (n != 0)
{
for (int i = 0; i <n; i++)
{
printf(" ");
}n--;
for (int j = n; j < x; j++)
{
printf("* ");
}
printf("\n");
}
int m = x;
while (m != 0)
{
m--;
for (int i = m; i <=x; i++)
{
printf(" ");
}
for (int j = 0; j <m; j++)
{
printf("* ");
}
printf("\n");
}
}
分析:由觀察得出在第5(及9/2+1)行前空格數依次遞減,* 在遞增,所以第一行空格最少取5-1=4個,注意列印 * 時應在其後面多列印一個空格否則不能成菱形,並且每列印一行 * 和空格後要換行,所以可以在一次迴圈後答應換行。5行後空格依次增加,* 依次減少所以在構造和上面相似的迴圈輸出空格和字元。
相關文章
- hive經典案列--top N(行轉列\列轉行)Hive
- 我用js完成了按n位數的來進行分割陣列JS陣列
- Java利用迴圈列印菱形、空心菱形Java
- 用Java中for迴圈語句列印菱形Java
- CHOJ 4201 樓蘭圖騰【樹狀陣列】陣列
- python列印菱形Python
- 柱狀圖與執行計劃
- 狀態列
- 菱形類問題
- 如何在ABAP裡用函數語言程式設計思想列印出非波拉契Fibonacci(數列)函數程式設計
- 列印出閏年
- C/C++ Qt StatusBar 底部狀態列應用C++QT
- 用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費Python
- React 4 種狀態型別及 N 種狀態管理React型別
- 如何隱藏工作列的圖示win10_win10怎麼隱藏狀態列圖示Win10
- 樹狀陣列陣列
- 《Effective Objective-C 2.0》- 5:用列舉來表示狀態、選項、狀態碼Object
- 【IDL】獲取n*n陣列的對角線元素的方法陣列
- 用遞迴的方法列印出輸入的任意整數遞迴
- 狀態列相關
- 解析樹狀陣列陣列
- 沉浸式狀態列
- Android 狀態列透明Android
- Quart2D 畫圖二 (餅狀圖、柱狀圖)
- <十>關於菱形繼承繼承
- 求大神怎麼弄菱形
- 菱形繼承,虛繼承繼承
- 柱狀圖
- 在命令列用 sort 進行排序命令列排序
- 用GraphPad Prism9做分組柱狀圖與散點圖共存圖PHP
- POI 重疊、並列柱狀圖(條形圖),顯示資料,自定義顏色
- 九、柱狀圖和3D柱狀圖3D
- 建立包含N個空物件的陣列物件陣列
- HarmonyOS NEXT應用開發案例—狀態列顯隱變化
- 二維樹狀陣列陣列
- 樹狀陣列基礎陣列
- 樹狀陣列詳解陣列
- numpy——陣列的形狀陣列