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

思路:運用循環(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("請輸入金字塔行數(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;
}運行結(jié)果:

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


以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
求32位機器上unsigned int的最大值及int的最大值的解決方法
本篇文章是對求32位機器上unsigned int的最大值及int的最大值的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05
C/C++?Qt?數(shù)據(jù)庫QSql增刪改查組件應(yīng)用教程
Qt?SQL模塊是Qt中用來操作數(shù)據(jù)庫的類,該類封裝了各種SQL數(shù)據(jù)庫接口,可以很方便的鏈接并使用。本文主要介紹了Qt數(shù)據(jù)庫QSql增刪改查組件的應(yīng)用教程,感興趣的同學(xué)可以學(xué)習(xí)一下2021-12-12
C語言實現(xiàn)的統(tǒng)計php代碼行數(shù)功能源碼(支持文件夾、多目錄)
這篇文章主要介紹了C語言實現(xiàn)的統(tǒng)計php代碼行數(shù)功能源碼,支持文件夾、多級目錄的統(tǒng)計,在一些環(huán)境中會用到這個功能,需要的朋友可以參考下2014-08-08

