1. 程式人生 > >習題4-9 列印菱形圖案(列印圖形)

習題4-9 列印菱形圖案(列印圖形)

本題要求編寫程式,列印一個高度為n的、由“*”組成的正菱形圖案。

輸入格式:

輸入在一行中給出一個正的奇數n。

輸出格式:

輸出由n行星號“*”組成的菱形,如樣例所示。每個星號後跟一個空格。

輸入樣例:

7

輸出樣例:

      * 
    * * * 
  * * * * * 
* * * * * * * 
  * * * * * 
    * * * 
      * 

思路:

  1. 列印圖形一定是二重迴圈。
  2. 星星上面每行逐漸多,下面每行逐漸少,一定是兩組二重迴圈,一個管上面,一個管下面。
  3. 上面有四行故第一重for迴圈條件 i < (n+1)/ 2。
  4. 前四行空格規律:第一行3對空格,第二行2對空格,第三行1對空格,第四行沒有。7/2 = 3且i又是從0-3,於是想到n/2 - i.
  5. 前四行星星規律:1  3  5  7,i從0-3,於是想到2 * i + 1
  6. 下面以此類推。

程式碼: 

#include <stdio.h>
int main(void) {
	int n, i, j;
	
	scanf("%d", &n);
	for ( i = 0; i < (n+1)/2; i++ ) {    //前四行。
		for ( j = 0; j < n/2-i; j++ )
			printf("  ");
		for ( j = 0; j < 2*i+1; j++ )
			printf("* ");
		printf("\n");
	}
	for ( i = 1; i <= (n-1)/2; i++ ) {    //後三行。
		for ( j = 0; j < i; j++ )
			printf("  ");
		for ( j = 0; j < n-2*i; j++ )
			printf("* ");
		printf("\n");
	} 

	return 0;
} 

相關推薦

習題4-9 列印菱形圖案列印圖形

本題要求編寫程式,列印一個高度為n的、由“*”組成的正菱形圖案。 輸入格式: 輸入在一行中給出一個正的奇數n。 輸出格式: 輸出由n行星號“*”組成的菱形,如樣例所示。每個星號後跟一個空格。 輸入樣例: 7 輸出樣例: * * * *

習題4-9 列印菱形圖案 15 point(s)

習題4-9 列印菱形圖案 (15 point(s)) 本題要求編寫程式,列印一個高度為n的、由“*”組成的正菱形圖案。 輸入格式: 輸入在一行中給出一個正的奇數n。 輸出格式: 輸出由n行星號“*”組成的菱形,如樣例所示。每個星號後跟一個空格。 輸入樣例: 7 輸出

中M2018春C入門和進階練習集-程式設計題4 7-3 輸出菱形圖案5 分

7-3 輸出菱形圖案(5 分) 本題要求編寫程式,輸出指定的由“A”組成的菱形圖案。 輸入格式: 本題無輸入 輸出格式: 按照下列格式輸出由“A”組成的菱形圖案。 A A A A #include<stdio.h> int main()

數字菱形圖案繪製圖形題的通用思路解法C++

數字菱形圖案(雙重迴圈)(C++) //找到一道比較有代表性的,較為全面的繪製圖形,並且控制繪製字元在變化的題目,驚喜。 【問題描述】 程式設計列印用數字構成的菱形圖案,菱形上半部分的行數n( 1<

習題4-11 兔子繁衍問題 15 分遞迴演算法陣列演算法

一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到N對? 輸入格式: 輸入在一行中給出一個不超過10000的正整數N。 輸出格式: 在一行中輸出兔子總數達到N對

7-3 輸出菱形圖案5 分

題目要求 本題要求編寫程式,輸出指定的由“A”組成的菱形圖案。 輸入格式: 本題無輸入 輸出格式: 按照下列格式輸出由“A”組成的菱形圖案。 A A A A 題目程式碼 #include <stdio.h> int

4-9 汽車加油問題貪心演算法

問題描述:一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計一個有效演算法,指出應 在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n(n <= 5000)和k(k <= 10

習題4-11 兔子繁衍問題15 分

#include<stdio.h> int main() { int N,sum=1,now=0,increase=0,month=1; scanf("%d",&N); if(sum==N) printf("%

習題4-9 列印菱形圖案

習題4-9 列印菱形圖案 (15 分) 本題要求編寫程式,列印一個高度為n的、由“*”組成的正菱形圖案。 輸入格式: 輸入在一行中給出一個正的奇數n。 輸出格式: 輸出由n行星號“*”組成的菱

列印菱形圖案的做法多種

話不多說,直接上程式碼 //簡單版本 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> #include<stdlib.h> int main() {

1005 - C語言程式設計教程第三版課後習題4.9

1005 - C語言程式設計教程(第三版)課後習題4.9 時間限制:1秒 記憶體限制:128兆 題目描述 輸入一個華氏溫度,要求輸出攝氏溫度。公式為 c=5(F-32)/9 輸出要求有文字說明,取位2小數。 輸入 一個華氏溫度,浮點數 輸出 攝氏溫度,浮點兩位小數 樣例輸入 -4

列印菱形圖案——對稱和不對稱

      *                   &nbs

列印菱形圖案 / 猴子吃桃問題

一隻猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個;第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半加一個。到第NN天早上想再吃時,見只剩下一個桃子了。問:第一天共摘了多少個桃子? 輸入格式: 輸入在一行中給出正整數NN(1<N\le 101&l

黑馬程式設計師——摺紙問題、九九乘法表和菱形圖案列印

------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ------- 摺紙問題: /* * 我國最高山峰是珠穆朗瑪峰:8848m,我現在有一張足夠大的紙張,厚度

練習2-3 輸出倒三角圖案列印圖案

本題要求編寫程式,輸出指定的由“*”組成的倒三角圖案。 輸入格式: 本題目沒有輸入。 輸出格式: 按照下列格式輸出由“*”組成的倒三角圖案。 * * * * * * * * * * 關鍵之處: 列印圖形就中規中矩的二重迴圈。 程式碼: 方法一:投機

習題 4-9 UVA - 815】Flooded!

【連結】 我是連結,點我呀:) 【題意】 在這裡輸入題意 【題解】 題目很迷啊。 不會出現盆地? 可以理解為一條線。 從左往右高度上升的一座座山。 然後V升的水從最左邊的山倒進去。 然後問你最後海拔多高。。 (為什麼是這樣啊??? 鬼知道。。。 所以每次只要看看前i個山同時升高a[i+1

ArcGIS API for JavaScript 4.9學習筆記一建立2D/3D地圖

ArcGIS API for JavaScript 4.9學習筆記一(建立2D/3D地圖) 2D: 程式碼: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta

習題4-11 兔子繁衍問題 15 point(s)

一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到N對? 輸入格式: 輸入在一行中給出一個不超過10000的正整數N。 輸出格式: 在一行中輸出兔子總數達到N最

劍指offer-從尾到頭列印連結串列連結串列

題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 連結串列中當前節點q的next指標本來指向的是後一個節點,現在要令他指向前一個節點p(在此之前用r存下q的後一個節點)。 /** * struct ListNode { * int val

劍指offer之從尾到頭列印連結串列Java實現

從尾到頭列印連結串列 NowCoder 題目描述: 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 ###解題思路: 解法一:利用遞迴 import java.util.ArrayList; public class Solution {