C语言实现打印数字金字塔

 更新时间:2022年11月07日 10:57:05   作者:FanterC1107  
这篇文章主要介绍了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;
}

运行结果:

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的取值其实可以看做我们学过的数列问题,

每行打印数据中,一种递增,另一种递减

这样打印出的数量不同,使得最后的图案不同。

运行实例

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • c#中实现退出程序后自动重新启动程序的方法

    c#中实现退出程序后自动重新启动程序的方法

    下面小编就为大家带来一篇c#中实现退出程序后自动重新启动程序的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • C语言实现逆序输出详细

    C语言实现逆序输出详细

    这篇文章主要介绍了C语言实现逆序输出。主要实现C语言实现对数组元素依次赋值然后按照逆序输出,下面文章小编将详细解说,需要的朋友可以参考一下
    2021-10-10
  • C++实现经典24点纸牌益智游戏

    C++实现经典24点纸牌益智游戏

    这篇文章主要介绍了C++实现经典24点纸牌益智游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C语言一篇精通链表的各种操作

    C语言一篇精通链表的各种操作

    链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构,是根据需要开辟内存单元,链表这种数据结构,必须利用指针变量才能实现,即一个结点中应包含一个指针变量,用它存放下一结点的地址
    2022-04-04
  • C语言循环控制入门介绍

    C语言循环控制入门介绍

    大家好,本篇文章主要讲的是C语言循环控制入门介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • C语言中continue的用法详解

    C语言中continue的用法详解

    在C语言当中的continue和break语句是有一些类似的,但是它并不是强制进行终止的,下面这篇文章主要给大家介绍了关于C语言中continue用法的相关资料,需要的朋友可以参考下
    2022-11-11
  • C语言求质数的几种简单易懂方式

    C语言求质数的几种简单易懂方式

    这篇文章主要介绍了C语言求质数的几种简单易懂方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 十分钟学会C++ Traits

    十分钟学会C++ Traits

    本文试图以最简洁的方式阐述对C++ traits 的理解,当你理解了第二个例子的时候,相信你已经理解了C++ traits,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-02-02
  • vs2019永久配置opencv开发环境的方法步骤

    vs2019永久配置opencv开发环境的方法步骤

    这篇文章主要介绍了vs2019永久配置opencv开发环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C++基于easyx图形库实现打砖块游戏

    C++基于easyx图形库实现打砖块游戏

    这篇文章主要为大家详细介绍了C++基于easyx图形库实现打砖块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论