日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言實現打印數字金字塔_C 語言

作者:FanterC1107 ? 更新時間: 2022-12-07 編程語言

C語言打印數字金字塔

題目:打印如下圖所示的數字金字塔(注意觀察數字分布的規律)。

思路:運用循環的嵌套控制輸入行以及每一行的具體內容,其中不同的內循環控制具體內容——遞增的數字,空格,遞減的數字 代碼:

#include<stdio.h>
int main()
{
	int n,i=1,num;// n為總行數,i為每行最大的數,num為數字 
	printf("請輸入金字塔行數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);//打印遞增的數字 
			for(num=i-1;num>=1;num--)
			printf("%d ",num);//打印遞減的數字 
			num=i;
			printf("\n");
		}
	return 0;
}

運行結果:

C語言金字塔問題

代碼講解

這里講一下關于數字金字塔,代碼如下所示:

#include <stdio.h>
#include <math.h>
int main()
{
	int n,i,j;
	printf("請輸入行數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用來控制行數,i逐漸增大

達到我們鍵入數值n后就不再執行for語句,下列循環同理

	int n,i,j;//定義變量
	printf("請輸入行數n: ");//提示輸入行數

2.同樣的,j用來控制每行打印的個數(也就是說個數與j的值有關)

我們先打印空格,也就是白色區域;

3.然后再打印出我們所需要元素:

比如我的代碼想要可以打出數字的話,

那就需要格式化輸出,用%c

"%c"

然后對于超過9(一般只能輸出0~9)的數對10取余再加上’0’,

就可以打出以0到9為元素的金字塔,

printf("%c",'0'+i%10) ;

最后別忘了要加上 printf(“\n”) 才能分行打印出來。

printf("\n");

自變量j的取值其實可以看做我們學過的數列問題,

每行打印數據中,一種遞增,另一種遞減

這樣打印出的數量不同,使得最后的圖案不同。

運行實例

原文鏈接:https://blog.csdn.net/m0_58863372/article/details/122533798

欄目分類
最近更新