(菱形字母图G)OJ杂不能通过?
程序代码:
#include <stdio.h> void draw(int n) { int ch, rows = sum(n), cols = 1, i, j, space = n - 1; for(i = 0; i < rows; i++) { ch = 'A'; for(j = 0; j < space; j++) putchar(' '); for(j = 0; j < cols; j++) putchar(j < cols / 2 ? ch++ : ch--); if(i < rows / 2) { space--; cols += 2; } else { space++; cols -= 2; } putchar('\n'); } } int sum(int n) { int s = 1, i; for(i = 1; i < n; i++) s += 2; return s; } int main(void) { int n, i = 1; while(scanf("%d", &n) != EOF) { if(n < 1 || n > 26) printf("No image!\n\n"); else { printf("Case %d:n=%d\n", i++, n); draw(n); printf("\n"); } } return 0; }菱形字母图G
问题描述:
输入一个整数n,输出如下用大写字母构成的有规律的图形。如n=3,有图形
但对有些整数n,是无法输出这样的图形的,如n=30。
输入:
输入有若干行,每行有一个整数n,(|n|<65536)。 输入直到文件输入结束。
输出:
对每一行的测试数据,先在一行上输出“Case #:”,其中“#”是测试数据的行编号(从1开始),再在同一行上输出n的具体值,格式如“n=3”。接着在下面的一行或若干行上输出结果图形,尾部无多 余空格。如无法按要求输出菱形字母图,那么输出“No image!”;两组输出数据之间空一行。
输入样例:
3
4
输出样例:
Case 1: n=3
A
ABA
ABCBA
ABA
A
Case 2: n=4
A
ABA
ABCBA
ABCDCBA
ABCBA
ABA
A
http://acmoj.shu.
[ 本帖最后由 lz1091914999 于 2011-6-22 21:58 编辑 ]