写在前面:半年C语言,半年Java,现在C重提,写写编程题,重拾手感。
在自己的代码里最爱写注释,注释润润色,便也成了这篇小文。
题目描述:
从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用函数PrintLine()来输出一行数字,函数原型如下:
void PrintLine(int n, int k); //输出图形第k行,n为菱形中心的数字
输入
正整数n(1≤n≤9)。
输出
指定数字图形。
样例输入
5
样例输出
1
121
12321
1234321
123454321
1234321
12321
121
1
题目分析:
此题乃原输出“*”菱形之改编。思路大体相似。
题解:
#include <stdio.h>
void PrintLine(int a, int b)
{
for(int i = 0;i<a;i++)
{
printf(" ");
}
for(int i = 1;i<=b;i++)
{
printf("%d",i);
}
for(int i = b-1;i>=1;i--)
{
printf("%d",i);
}
}
int main(void)
{
int n;
scanf("%d",&n);
for(int i = 1;i<n;i++)
{
PrintLine(n-i,i);
printf("\n");
}
PrintLine(0, n);
printf("\n");
for(int i = 1;i<=n-1;i++)
{
PrintLine(i,n-i);
printf("\n");
}
return 0;
}