您的位置:首页 > 其它

TOJ_1001解题报告

2006-06-08 13:02 225 查看

排版题.输出排列成菱形的字母

Problem

输入N值,编程输出如下图形。

Input

一个整数N(1<=N<=7)。

Output

排列成菱形的大写字符,首字符为Z,以后依次为Y,X...

Sample Input

3

Sample Output

Z
Y   X
W       V
U   T
S

=============================================
分析:
我初步的思路:因为要输出的菱形是上下对称的,因此只需要考虑图形的上半部分,并且将上半部分中特殊的第一行和中间的一行单独考虑,其他行一起考虑。

代码如下:

//////////////////////
////1001.cpp
/////////////////////
#include <stdio.h>
char c='Z';
int n;

void printLineOne(int t)

void printMiddleLine(int t)

void printOtherLine(int t)

int main()

再仔细分析各行的特点之后,发现其实不用把第一行和中间行独立出来,而是可以综合各行一起考虑的。

代码如下:

#include <stdio.h>

char ch='Z';
int n;

void printLine(int t)

int main()
scanf("%d",&n);
int i;
if(n==1)
printf("Z\n");
}
else
for(i=1;i<=n;i++)
printLine(i);
}
for(i=n-1;i>=1;i--)
printLine(i);
}
}
return 0;
}
心得:此题最烦的地方是输出的格式,一定要注意看清楚题目给的Sample的格式要求,另外就是对行与行之间异同点的分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: