3920 - 打印三角形

给定一个正整数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;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题