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

目录
  • 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;
}

运行结果:

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

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

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

运行实例

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

(0)

相关推荐

  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. C语言实现代码如下: /* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <al

  • 使用C语言打印月历

    打印日历应该是程序员入门时候的一个基础练习.打印一年的日历有许多不同的实现,我这里提一个可以实现的方法.首先需要确定该年是闰年还是平年,闰年的二月是29天,全年是366天:平年二月是28天,全年365天.还需要确定该年的每一天是星期几.从0001年1月1日是星期一开始,该值可以通过使用该年到元年的总天数模7来求得.最后考虑怎样输出日历,可以先将日历存储在一个二维数组里面,也可以直接将它输出. #include<stdio.h> /*判断是平年还是闰年*/ int IsLeap (int yea

  • 使用c语言输出杨辉三角形的简单方法

    问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)^n的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 下面要求用户输入一个整数n,然后输出杨辉三角形的前n行. 示例代码如下: #include<stdio.h> int main() { int a[100][100],i,j,num; printf("请输入需要打印的行数:"); scanf(&qu

  • C语言打印各种图案实例代码

    1.线段图案 #include<stdio.h> int main() { int a = 0; while(~scanf("%d",&a)) { int i = 0; for(i=0;i<a;i++) { printf("*"); } printf("\n"); } return 0; } 2.正方形图案 #include<stdio.h> int main() { int a = 0; while(~sc

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

    目录 C语言打印数字金字塔 C语言金字塔问题 代码讲解 运行实例 C语言打印数字金字塔 题目:打印如下图所示的数字金字塔(注意观察数字分布的规律). 思路:运用循环的嵌套控制输入行以及每一行的具体内容,其中不同的内循环控制具体内容——递增的数字,空格,递减的数字 代码: #include<stdio.h> int main() { int n,i=1,num;// n为总行数,i为每行最大的数,num为数字 printf("请输入金字塔行数n:"); scanf("

  • 利用C语言实现猜数字小游戏

    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 实现猜数字的游戏: 要用程序完成以下几步: 1.电脑自动生成随机数(1到100之间的数字) 2.玩家输入自己猜的数字(输入0 -- 100之间的数字) 3.猜对了就输入:猜对了 猜错了就输入:猜大了,或者是猜小了 4.可以多次玩这个游戏. 任何程序都要从main函数开始去看: 找到下面程序中的main函数从那里开始分析: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdi

  • C语言实现打印杨辉三角的方法详细(三种方法)

    目录 题目描述 问题分析 1. 使用数组法(打印直角三角) 2. 使用数组法(打印等腰三角) 3. 使用公式法(打印等腰三角) 网上参考 题目描述 打印杨辉三角(前N行) 问题分析 杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合. 杨辉三角的部分规律: 每个数等于它上方两数之和. 每行数字左右对称,由1开始逐渐变大. 第n行的数字有n项. 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同

  • C语言实现打印星号图案

    目录 C语言 打印星号图案 C语言 循环打印星号图形* 用两层循环 C语言 打印星号图案 打印一个上半部分为等腰三角形,下半部分为倒等腰三角形星号图案:思想为创建一层大的循环表示行数,然后里面一层循环表示空格的数目,一层表示星号的数目,假设有n行,i表示第i行,空格数为(n-i),星号数为(2*i-1);下半部分从第n行开始,逐渐减少,其他同上半部分. 如有写的不对,望指教. 代码如下: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #

  • go语言实现猜数字小游戏的方法

    本文实例讲述了go语言实现猜数字小游戏的方法.分享给大家供大家参考.具体分析如下: 随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之提示是大了还是小了 复制代码 代码如下: package main import (     "bufio"     "fmt"     "math/rand"     "os"     "strconv"     "time" ) var (  

  • java控制台输出数字金字塔示例分享

    复制代码 代码如下: /*Java  *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: *                   1 *               1   2   1 *           1   2   4   2   1 *       1   2   4   8   4   2   1 *   1   2   4   8  16   8   4   2  

  • C语言+EasyX实现数字雨效果

    本文实例为大家分享了C语言 EasyX实现数字雨的具体代码,供大家参考,具体内容如下 ///////////////////////////////////////////////////////////////////// // 程序名称:数字雨 // 编译环境:VC6.0 EasyX // 作 者:flx413 // 时 间:2016-5-2 ///////////////////////////////////////////////////////////////////// #incl

  • C语言实现猜数字大小的游戏

    本文实例为大家分享了C语言实现猜数字大小的具体代码,供大家参考,具体内容如下 void menu() void menu() { printf("******** 猜数字游戏 ********\n"); printf("*********** 1.开始 *************\n"); printf("*********** 0.退出 *************\n"); } 简单的一个菜单用于显示. void game() void gam

  • C语言编一个数字益智小游戏

    程序功能及运行情况 设计的程序是一个数字益智游戏,旨在培养小朋友玩家的数学思维,提高玩家的数学能力.游戏共设有四个不同的小游戏,分别是一位数四则运算.两位数四则运算.找最值游戏.排序游戏.程序能实现产生随机题目,并能检验玩家的作答是否正确.为了小朋友能感受到游戏的乐趣,特意设置了得分系统,答对不同题目有不同的加分,并会根据总得分划分不同「段位」,呈现给玩家.另外,程序还运用了更加充满活力的设计,让玩家爱上该游戏. 程序运行截图主菜单 运算游戏 找最值游戏 排序游戏 得分统计 代码部分头文件区域

  • 用C语言实现猜数字游戏

    本文实例为大家分享了C语言实现猜数字的具体代码,供大家参考,具体内容如下 问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示猜对了并结束本次游戏. 思路:整个程序分为三个部分. 1.使用printf完成一个主菜单,方便用户操作. 2.写一个game函数,完成猜数字游戏的过程. 3.主函数,调用game函数,最终实现猜数字游戏. 重点:如何生成一个随机数. 如果直接使用to_guess = rand() % 100 + 1

随机推荐