题目描述

从键盘输入一个整数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 PrintSpace(int m){
    for (int i = 1; i <= m; ++i) {
        printf(" ");
    }
}
void PrintDigit(int m){
    for (int i = 1; i <= m ; ++i) {
        printf("%d",i);
    }
    for (int j = m-1; j >0 ; j--) {
        printf("%d",j);
    }
    printf("\n");
}
int main() {
    int n;
    scanf("%d",&n);
    for (int i = 1; i <= n ; ++i) {
        PrintSpace(n-i);
        PrintDigit(i);
    }
    for (int j = n-1; j >0 ; j--) {
        PrintSpace(n-j);
        PrintDigit(j);
    }
    return 0;
}
版权声明: 本博客所有文章除特别声明外,均采用署名-非商业性使用-相同方式共享 4.0 国际CC BY-NC-SA 4.0 )许可协议。转载请注明出处!
最后修改:2019 年 12 月 03 日 03 : 07 PM
如果觉得我的文章对你有用,请随意赞赏