1. 程式人生 > >使用C語言列印不同星號圖案(矩形 平行四邊形 三角形)

使用C語言列印不同星號圖案(矩形 平行四邊形 三角形)

獻給大一或大二的學弟學妹們和在自學 C語言的同志們。

列印自定義行數的矩形

列印效果:


參考程式碼:

#include<stdio.h>
int main()
{
	int i,j,n;
	printf("請輸入要列印矩形的行數:");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
		{
			printf("* ");
		}
		printf("\n");
	}
	return 0;
}

列印自定義行數的平行四邊形


列印效果:



參考程式碼:

#include <stdio.h>
int main()
{
	int i,j,n;
	printf("請輸入要列印平行四邊形的行數:");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n-i;j++)
		{
			printf(" ");
		}
		for(j=1;j<=n;j++)
		{
			printf("* ");
		}
		printf("\n");	
	}
	return 0;
}


列印自定義行數尖朝上的等腰三角形


列印效果:


參考程式碼:


#include <stdio.h>
int main()
{
	int i,j,n;
	printf("請輸入要列印尖朝上等腰三角形的行數:");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n-i;j++)
		{
			printf(" ");
		}
		for(j=1;j<=2*i-1;j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}


列印自定義行數尖朝下的等腰三角形


列印效果:



參考程式碼:

#include <stdio.h>
int main ()
{
	int i,j,n;
	printf("請輸入要列印尖朝下等腰三角形的行數:");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i-1;j++)
		{
			printf(" ");
		}
		for(j=1;j<=2*n-2*i+1;j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;

}

相關推薦

使用C語言列印不同星號圖案矩形 平行四邊形 三角形

獻給大一或大二的學弟學妹們和在自學 C語言的同志們。 列印自定義行數的矩形 列印效果: 參考程式碼: #include<stdio.h> int main

使用C語言列印不同星號圖案

一、畫圖方法 畫一個圖,通常可以選擇如下方法: 1、畫每一個圖形,填充形狀覆蓋的畫素。 2、對於影象中每個畫素,取樣該畫素覆蓋了什麼形狀。 第一種就是光柵化(rasterization)演算法,

c語言列印空白星號矩形

使用者輸入一個數字N,輸出一個N*N的空心矩形,N最小為3 效果如下:   思路是這樣的,首先拿到這道題是沒有思路的,但我們可以舉幾個例子,當N等於3的情況,當N=5的情況,發現第一行和最後一行是相同的,而第2行到第N-2行也是相同的。先用一個迴圈控制輸出的是哪一行,然後裡層迴圈控制每行的

C語言二叉樹建立一定看的懂

  先貼一個百度出來的二叉樹的圖 二叉樹 就是首先得有一個根節點.這個節點的入度為0也就是它只有子節點沒有父節點 如1號節點     每個節點又有一個左兒子和一個右兒子 當然也可以沒有 接下來就是建立.建立一棵樹得現有這棵樹的結點和樹根

c語言學生資訊管理系統連結串列、檔案

#include<stdio.h>                                               /*呼叫標頭檔案*/ #include<stdlib.h> #include<string.h> #inclu

c語言演算法—01揹包問題一維表達形

經過上次我們用基礎的演算法解決了揹包問題之後,現在我們來看另外一種演算法:通過一維陣列表達; 其實,在上次我們使用二維陣列時可以發現,我們在從上往下建立(橫向建立)的時候,資料是一行一行成型的,而新的資料是在原先一排舊的基礎上更新形成的,所以,我們來想,我們其

C語言再學習 -- 段錯誤核心已轉儲

一、什麼是段錯誤?一旦一個程式發生了越界訪問,cpu 就會產生相應的保護,於是 segmentation fault 就出現了,通過上面的解釋,段錯誤應該就是訪問了不可訪問的記憶體,這個記憶體區要麼是不存在的,要麼是受到系統保護的,還有可能是缺少檔案或者檔案損壞。二、段錯誤產

Windows C語言 UDP程式設計 server端伺服器、客戶端--初級簡單版

UDP協議全稱是使用者資料報協議[1] ,在網路中它與TCP協議一樣用於處理資料包,是一種無連線的協議。在OSI模型中,在第四層——傳輸層,處於IP協議的上一層。UDP有不提供資料包分組、組裝和不能對資料包進行排序的缺點,也就是說,當報文傳送之後,是無法得知其

C語言陣列去重排序從大到小

好久沒寫程式了,改了好久也只能寫成這樣,勉強能用 #include<stdio.h> void bubble_sort(int *arr,int len) {       int i, j,temp;        for(i=0;i<len;i+

c語言實現二叉樹二叉連結串列非遞迴後序遍歷

演算法思想 因為後序遍歷是先訪問左子樹,再訪問右子樹,最後訪問根節點。當用棧實現遍歷時,必須分清返回根節點時,是從左子樹返回的還是從右子樹返回的。所以使用輔助指標r指向最近已訪問的結點。當然也可以在節點中增加一個標誌域,記錄是否已被訪問。 #include<iost

C語言】動態記憶體分配malloc,realloc,calloc,free的基本理解和區別

#include<Windows.h> #include<stdio.h> #include<malloc.h> int main() { int* p = NULL; printf("%x\n", p); p = (int*)malloc(sizeof(int)*

c語言入門:指標運用 用逗號切割字串

#include <stdio.h> #include <string.h> #include <stdlib.h> /** * 列印陣列 * @brief printfArray * @param array * @

c語言將資料寫入檔案用連結串列實現

/*c語言將資料寫入檔案,用連結串列實現*/ #include #include #include /*定義結構體*/ typedef struct Node { char id[10];

C語言-變數的儲存類別auto, static, register, extern

任何一個變數和函式都有兩個屬性,1、資料型別(我們已經熟知) 2、資料的儲存類別 有2種儲存方式,有4種儲存類別 auto自動變數 一般來說auto可以省略,1、函式的形參 2、在函式中定義的區域性變數(包括在複合語句中定義的區域性變數)都是自動變數auto。上述2種自動變

C語言 static作用——修飾 變數全域性變數/區域性變數、函式

*******************************概念*********************************************************************************************************

C語言 整數的整數次方不考慮大數問題

#include<stdio.h> int doublepow(int n, int m) { int i = 1; int sum = n; for(i = 1; i< m; i++) { s

C語言實現迴文判斷利用指標的方法

//判斷迴文(指標實現) #include <stdio.h>   #include <stdlib.h>   #include <string.h>       void IsSymmetrical(char *str)   {  

C語言自學之路二linux相關知識二

文件傳輸協議 創建 .gz all 使用 登錄系統 開啟 界面 當前位置 linux快捷鍵 快捷鍵 效果 Ctrl+Z 程序轉入後臺 Ctrl+Alt+T 快速進入終端 F2 修改文件名 關鍵命令行 命令行 效 果 mv 文件名1

C語言入門:列印菱形星號“*”圖案

題目: 列印菱形星號“*”圖案。輸入一個正整數n(n為奇數),列印一個高度為n的“*”菱形圖案。試編寫相應程式。 程式簡易流程圖如下:                             

C語言實現 兩個int32位整數m和n的二進位制表達中,有多少個位(bit)不同

輸入例子: 1999 2299 輸出例子:7 int main() { int a = 0; int b = 0; int num = 0; int count = 0; printf("請輸入兩個整數:"); scanf("%d%d",&a,&b); n