题目描述:从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格;PrintDigit(m)来输出一行中的数字串"12...m...21"(该行中的最大数字是m)。函数原型如下:
void PrintDigit(int m);
void PrintSpace(int m);
输入:正整数n(1≤n≤9)。
输出:指定数字图形。
样例输入
5
样例输出
1
121
12321
1234321
123454321
1234321
12321
121
1
思路: 观察图像找规律,分上下两部分输出,上半部分空格数逐层递增由n-1到0,数字逐层递增由1到n且一行内升序输出后降序输出;下半部分空格数逐层递减由1到n-1,数字逐层递减由n-1到1且一行内升序输出后降序输出。记得每行输出结束后输出换行符!
代码:
#include <stdio.h>
void PrintDigit(int m){
int i;
for(i=1;i<=m;i++)
printf("%d",i);
for(i=m-1;i>0;i--)
printf("%d",i);
printf("\n");
}
void PrintSpace(int m){
while(m--){
printf(" ")