PTA浙大版《C语言程序设计(第3版)》题目集函数题:练习5-3 数字金字塔

数字金字塔


1、题目及要求:

本题要求实现函数输出n行数字金字塔。

函数接口定义:
void pyramid( int n );
其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注

意每个数字后面跟一个空格。

裁判测试程序样例:
#include <stdio.h>

void pyramid( int n );

int main()
{    
    int n;

    scanf("%d", &n);
    pyramid(n);

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
5
输出样例:
    1 
   2 2 
  3 3 3 
 4 4 4 4 
5 5 5 5 5 
作者
C课程组
单位
浙江大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

2、解答:

void pyramid( int n )
{
    int i, j, count = 0; 	/*i表示行数,j表示输出数字个数,count表示输出空格个数*/
    for (i = 1; i <= n; i++)	/*外层for循环用来控制行数*/
    {
        count = n-i;	/*第i行数字前需要输出的空格数*/
        while (count--)	/*输出这些空格*/
            printf(" ");
        for (j = 1; j <= i; j++)	/*第i行输出的 数字+一个空格 个数*/
            printf("%d ", i);		/*注意数字后面应输出一个空格*/
        printf("\n");	/*第i行输出完毕,准备进行第i+1行的输出*/
    }
    return;
}

3、总结:
观察金字塔输出数字与行数之间的规律,利用循环语句巧妙地进行输出。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值