目录C语言打印数字金字塔C语言金字塔问题代码讲解运行实例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;
}
运行结果:
这里讲一下关于数字金字塔,代码如下所示:
#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的取值其实可以看做我们学过的数列问题,
每行打印数据中,一种递增,另一种递减
这样打印出的数量不同,使得最后的图案不同。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: C语言实现打印数字金字塔
本文链接: https://www.lsjlt.com/news/170900.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0