1108: 打印数字图形(函数专题)
时间限制: 1 Sec 内存限制: 128 MB
提交: 11599 解决: 5830
[状态] [讨论版] [提交] [命题人:admin]
题目描述
从键盘输入一个整数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)。
输出
指定数字图形。
样例输入 Copy
5
样例输出 Copy
1
121
12321
1234321
123454321
1234321
12321
121
1
# # 打印数字图形(函数专题) # def PrintDigit(m): """此函数打印数字,该行中最大数字是m""" for i in range(1, m): #输出数字1到m-1 print(i, end = '') for i in range(m, 0, -1): #输出数字m到1 print(i, end = '') def PrintSpace(m): """此函数输出m个空格""" for i in range(m): print(" ", end = '') def main(): """主函数,输出指定数字图形""" n = int(input()) for i in range(1, n): #调用函数打印空格 PrintSpace(n - i) #调用函数打印数字 PrintDigit(i) PrintSpace(n - i) print() for i in range(n, 0, -1): PrintSpace(n - i) PrintDigit(i) PrintSpace(n - i) print() main()