1108: 打印数字图形(函数专题)

题目描述

从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格;PrintDigit(m)来输出一行中的数字串"12...m...21"(该行中的最大数字是m)。函数原型如下:

void PrintDigit(int m);

void PrintSpace(int m);

对于C/C++代码的提交,本题要求必须通过定义PrintSpace函数、PrintDigit函数和main函数实现,否则,返回编译错误。

输入

正整数n(1≤n≤9)。

输出

指定数字图形。

样例输入

5

样例输出

    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1
#include<stdio.h>
void PrintLine(int n)
{
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n-i;j++)
            printf(" ");
        for(int s=1;s<=i;s++)
            printf("%d",s);
        for(int z=i-1;z>0;z--)
            printf("%d",z);
        printf("\n");

    }
    for(int i=1;i<=n-1;i++)
    {
        for(int j=1;j<=i;j++)
             printf(" ");
        for(int s=1;s<=n-i;s++)
             printf("%d",s);
        for(int z=n-i-1;z>0;z--)
             printf("%d",z);
        printf("\n");
    }

}
int main()
{
    int m;
    scanf("%d",&m);
    PrintLine(m);
    return 0;
}

原文地址:https://www.cnblogs.com/binanry/p/10017348.html

时间: 2024-10-04 02:10:01

1108: 打印数字图形(函数专题)的相关文章

zzuli oj 1108 打印数字图形

题意分析:从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形.要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格:PrintDigit(m)来输出一行中的数字串"12...m...21"(该行中的最大数字是m).函数原型如下:  void PrintDigit(int m):  void PrintSpace(int m); 解题思路:编写两个函数,发现图形规律与打印实心菱形相近,利用两个循环来控制每一行的数字规律.代码实现: 1 #include<

用代码编译数字图形

1 121 12321 1234321 123454321 打印上述图形 #include <stdio.h>void main(){ int i,j; for (i=0;i<5;i++) { for (j=0;j<2*i+1;j++) { if(j<=i) { printf("%d",j+1); } else { printf("%d",2*i-j+1); } } printf("\n") ; } } 用代码编译数

蓝桥杯 算法训练 ALGO-145 4-1打印下述图形

算法训练 4-1打印下述图形 时间限制:1.0s   内存限制:256.0MB 问题描述 使用循环结构打印下述图形,打印行数n由用户输入.打印空格时使用"%s"格式,向printf函数传递只包含一个或多个空格的字符串" ",下同. 样例输入 一个满足题目要求的输入范例.例: 5 样例输出 与上面的样例输入对应的输出.例: 数据规模和约定 输入数据中每一个数的范围. 例:0<n<20. 题目解析: 本道题共两种思路,由于 n 的范围很小(0 < n

python入门到放弃-函数专题

一.函数的定义 函数是对代码块和功能的封装和定义 #函数的语法:def是define的意思,定义 最基本的语法: def 函数名(): 函数体 函数名() #调用函数 带有参数的语法 def 函数名(形参列表): 函数体(代码块,return) 函数名(实参列表) :调用 #例子:函数执行过程 # def wan(): #定义函数 # print("今天一起去玩") # print("去哪里玩呢") # print("我不知道") # wan()

python 学习笔记day03-python基础、python对象、数字、函数

python基础 语句和语法 注释及续行 首要说明的是:尽管python可读性最好的语言之一,这并不意味者程序员在代码中就可以不写注释 和很多UNIX脚本类似,python注释语句从#字符开始 注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容 一行过长的语句可以使用反斜杠\分解成几行 缩进及代码组 缩进相同的一组语句构成一个代码块,称之为代码组 首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组 如果代码组只有一行,可以将其直接写在冒号后面,但是这样的写法可读性差

POJ 2136 Vertical Histogram 打印特殊图形

根据题目要求打印出需要的输出格式. 这算是些趣味题目了,题目本身不难,要说难点就是考如何优雅地去编程了,主要是考编程基础功力. 而且好像测试系统不是十分严格,并不判断后面多余的空格,按题目要求是需要严格去掉后面多余的空格的. 处理这个问题就需要多点代码了. 下面看我使用一个额外的数组spaceHeight[ALP_LEN[来解决这个问题,做到半个多余的空格符也没有. #include <cstdio> #include <string.h> const int MAX_N = 75

java python oracle判断字符串是否为数字的函数

java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9]+"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; } python def isNum(value): try: int(value) + 1 except

C语言 字符串和数字转换函数

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或123e-2.

Java n个线程轮流打印数字的问题

一. 实现两个线程.轮流打印出数字.例如以下: bThread --> 10 aThread --> 9 bThread --> 8 aThread --> 7 bThread --> 6 aThread --> 5 bThread --> 4 aThread --> 3 bThread --> 2 aThread --> 1 用java中的Lock类实现: package com.yjq.thread_demo; import java.uti