<1>第一種方法,利用字符數(shù)組定義一個(gè)空格數(shù)組和一個(gè)符號(hào)數(shù)組,
在東方等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè)公司,東方網(wǎng)站建設(shè)費(fèi)用合理。
然后找到數(shù)組中間的元素,操作空格字符從中間開始向兩邊與符號(hào)數(shù)組的元素互換,
每互換一次進(jìn)行一次輸出,打印上半個(gè)菱形和下半個(gè)菱形需要兩個(gè)for語句的支持。
源代碼如下:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//為了使用延時(shí)語句Sleep而調(diào)用
int main()
{
char suu1[] = "*****************************************";//符號(hào)語句
char suu2[] = " ";//空格語句
int right, left=0, mid;
right = strlen(suu2)-1;
mid = left + (right - left) / 2;
for (left = mid , right = mid ; left >= 0&&right<=strlen(suu2)-1 ; left--, right++)//上半部分打印
{
suu2[left] = suu1[left];
suu2[right] = suu1[right];
printf("%s\n", suu2);
Sleep(600);//延時(shí)操作
}
for (left = 0, right = strlen(suu1)-1; left <=mid && right >=mid; left++, right--)//下半部分打印
{
suu2[left] = ' ';
suu2[right] = ' ';
printf("%s\n", suu2);
Sleep(600);
}
system("pause");
return 0;
}這種方法較為淺顯易懂,但缺點(diǎn)是菱形的大小是通過所定義的字符數(shù)組的長度來定義的,不是特別靈活。
<2>
第二種方法算法上相比第一種較為復(fù)雜,但是可操控性比較高,主要是通關(guān)觀察來得到所打印符號(hào)的行,列和符號(hào)個(gè)數(shù)之間的數(shù)學(xué)關(guān)系來打印。
源代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int line = 0,m,k;
scanf("%d", &line);//通過輸入來確定菱形的大小
int i = 0;
for (i = 0; i < line; i++)//上半部分打印
{
for (m = 0; m<line - 1 - i; m++)//觀察所得關(guān)系式
printf(" ");
for (m= 0; m <2 * i+ 1; m ++)
{
printf("*");
}
printf("\n");
}
for (i = 0; i < line-1; i++)//下半部分打印
{
for (m = 0; m<=i; m++)
printf(" ");
for (m = 0; m <2 * (line-i-1)-1; m++)//觀察得到的關(guān)系式
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}運(yùn)行結(jié)果實(shí)例:

網(wǎng)頁名稱:C語言編程兩種方法打印一個(gè)菱形(漸入顯示)
文章源于:http://www.chinadenli.net/article6/iphgog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、、網(wǎng)站策劃、建站公司、網(wǎng)站收錄、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)