C語(yǔ)言實(shí)現(xiàn)打印數(shù)字金字塔
C語(yǔ)言打印數(shù)字金字塔
題目:打印如下圖所示的數(shù)字金字塔(注意觀察數(shù)字分布的規(guī)律)。

思路:運(yùn)用循環(huán)的嵌套控制輸入行以及每一行的具體內(nèi)容,其中不同的內(nèi)循環(huán)控制具體內(nèi)容——遞增的數(shù)字,空格,遞減的數(shù)字 代碼:
#include<stdio.h>
int main()
{
int n,i=1,num;// n為總行數(shù),i為每行最大的數(shù),num為數(shù)字
printf("請(qǐng)輸入金字塔行數(shù)n:");
scanf("%d",&n);
for(num=1;i<=n;i++)
{
for(num=1;num<=2*(n-i);num++)
printf(" ");//打印空格
for(num=1;num<=i;num++)
printf("%d ",num);//打印遞增的數(shù)字
for(num=i-1;num>=1;num--)
printf("%d ",num);//打印遞減的數(shù)字
num=i;
printf("\n");
}
return 0;
}運(yùn)行結(jié)果:

C語(yǔ)言金字塔問(wèn)題
代碼講解
這里講一下關(guān)于數(shù)字金字塔,代碼如下所示:
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,j;
printf("請(qǐng)輸入行數(shù)n: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<=n-i;j++)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("%c",'0'+i%10) ;
printf("\n");
}
}1.這里變量i用來(lái)控制行數(shù),i逐漸增大
達(dá)到我們鍵入數(shù)值n后就不再執(zhí)行for語(yǔ)句,下列循環(huán)同理
int n,i,j;//定義變量
printf("請(qǐng)輸入行數(shù)n: ");//提示輸入行數(shù)2.同樣的,j用來(lái)控制每行打印的個(gè)數(shù)(也就是說(shuō)個(gè)數(shù)與j的值有關(guān))
我們先打印空格,也就是白色區(qū)域;
3.然后再打印出我們所需要元素:
比如我的代碼想要可以打出數(shù)字的話,
那就需要格式化輸出,用%c
"%c"
然后對(duì)于超過(guò)9(一般只能輸出0~9)的數(shù)對(duì)10取余再加上’0’,
就可以打出以0到9為元素的金字塔,
printf("%c",'0'+i%10) ;最后別忘了要加上 printf(“\n”) 才能分行打印出來(lái)。
printf("\n");自變量j的取值其實(shí)可以看做我們學(xué)過(guò)的數(shù)列問(wèn)題,
每行打印數(shù)據(jù)中,一種遞增,另一種遞減
這樣打印出的數(shù)量不同,使得最后的圖案不同。
運(yùn)行實(shí)例


以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
求32位機(jī)器上unsigned int的最大值及int的最大值的解決方法
本篇文章是對(duì)求32位機(jī)器上unsigned int的最大值及int的最大值的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C/C++?Qt?數(shù)據(jù)庫(kù)QSql增刪改查組件應(yīng)用教程
Qt?SQL模塊是Qt中用來(lái)操作數(shù)據(jù)庫(kù)的類,該類封裝了各種SQL數(shù)據(jù)庫(kù)接口,可以很方便的鏈接并使用。本文主要介紹了Qt數(shù)據(jù)庫(kù)QSql增刪改查組件的應(yīng)用教程,感興趣的同學(xué)可以學(xué)習(xí)一下2021-12-12
OpenCV利用對(duì)比度亮度變換實(shí)現(xiàn)水印去除
OpenCV中去除水印最常用的方法是inpaint,通過(guò)圖像修復(fù)的方法來(lái)去除水印。本文將介紹另一種方法:利用對(duì)比度亮度變換去除水印,需要的朋友可以參考一下2021-11-11
C語(yǔ)言實(shí)現(xiàn)的統(tǒng)計(jì)php代碼行數(shù)功能源碼(支持文件夾、多目錄)
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)的統(tǒng)計(jì)php代碼行數(shù)功能源碼,支持文件夾、多級(jí)目錄的統(tǒng)計(jì),在一些環(huán)境中會(huì)用到這個(gè)功能,需要的朋友可以參考下2014-08-08
C++ 實(shí)現(xiàn)對(duì)象池的具體方法
本文主要介紹了C++ 實(shí)現(xiàn)對(duì)象池的具體方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
使用remalloc的注意事項(xiàng)說(shuō)明(必看篇)
下面小編就為大家?guī)?lái)一篇使用remalloc的注意事項(xiàng)說(shuō)明(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
詳解桶排序算法的思路及C++編程中的代碼實(shí)現(xiàn)
桶排序即是先把每個(gè)桶中的元素進(jìn)行排序然后遍歷桶依次列出元素的算法,桶排序在元素較少的情況下很高效,以下我們就來(lái)詳解桶排序算法的思路及C++編程中的代碼實(shí)現(xiàn):2016-07-07

