3920 - 打印三角形
时间限制 : 1 秒
内存限制 : 128 MB
给定一个正整数n,输出一个字母三角形,规律详细请见样例
题目输入
每组测试数据一个整数n
0<n<27
题目输出
每组测试数据先输出 Case #x: y
再在接下来的空间输出三角形
输入/输出样例
输入格式
3 4 5
输出格式
Case #1:
A
BAB
CBABC
Case #2:
A
BAB
CBABC
DCBABCD
Case #3:
A
BAB
CBABC
DCBABCD
EDCBABCDE
C语言解答
#include<stdio.h> int main() { int n,i,m,j=1,k,l; while (scanf("%d", &n) != EOF) { printf("Case #%d:\n", j); for (i = 0; i < n; i++) { m = i + 65; for (l = 0; l <(n-i-1); l++) printf(" "); for (k = 0; k <= i; k++) { printf("%c", m); m = m - 1; } for (k = 1; k <= i; k++) { printf("%c", m+2); m = m+1; } printf("\n"); } printf("\n"); j++; } return 0; }
C++解答
#include <cstdio> using namespace std; int n; void solve(int cas); void input() { int tmp = 0; while (scanf("%d", &n) == 1) solve(++tmp); } void solve(int cas) { printf("Case #%d:\n", cas); for (int i = 1; i <= n; i++) { for (int j = 0; j < n - i; j++) printf(" "); char ch = 'A' + i - 1; bool flag = 0; for (int j = 1; j <= 2 * i - 1; j++) { printf("%c", ch); if (ch == 'A') flag = 1; if (!flag) ch--; else ch++; } printf("\n"); } printf("\n"); } int main() { input(); return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int number = 0; int count = 0; while (in.hasNextInt()) { number = in.nextInt(); System.out.println("Case #" + ++count + ":"); for (int i = 0; i < number; i++) { for (int j = 0; j < number - i - 1; j++) { System.out.print(" "); } for (int j = 'A' + i; j >= 'A'; j--) { System.out.print((char) j); } for (int j = 'B'; j <= 'A' + i; j++) { System.out.print((char) j); } System.out.println(); } System.out.println(); } } }