PTA 空心字母金字塔+数字金字塔+字母金字塔

输入一个大写的英文字母,输出空心的字母金字塔。

输入格式:

一个大写英文字母。

输出格式:

一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。

输入样例:

E

输出样例:

                                       A
                                      B B
                                     C   C
                                    D     D
                                   EEEEEEEEE
#include
int main()
{
	char x;
	scanf("%c",&x);//输入一个大写字母
	
	int n=x-'A'+1;//总行数
	//printf("%d",x-'A');
	int i,j;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=40-i;j++)
		{
			printf(" ");//输出字母前的空格 
		}
		
		printf("%c",'A'-1+i);//每行第一个字母 
		
		for(j=1;j<=2*(i-1)-1;j++)//第二行后面输出空格位数为2*(i-1)-1
		 
		{
			if(i!=n)
			{
				printf(" ");//三角形中间的空格 
			}
			else
			{
				printf("%c",x);
			}
		}
		if(i!=1)
		{
			printf("%c",'A'-1+i);//每行最后一个字母 	
		}
		printf("\n");//
		 
	}
	return 0;
	
} 

类似题目:数字金字塔

输入正整数n,输出n层数字金字塔。

输入格式:

正整数n,1<=n<=9。

输出格式:

n层的金字塔,其中第1层的“1”在第1行的第39列(列从1开始计数)。

输入样例:

5

输出样例:

                                      1
                                     121
                                    12321
                                   1234321
                                  123454321

代码:

#include
int main()
{
	int n;
	scanf("%d",&n);
	
	int i,j;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=39-i;j++)
		{
			printf(" ");//表格前空格 
		}
		for(j=1;j<=i;j++)
		{
			printf("%d",j);//每行的前一半数字 
		} 
		for(j=i-1;j>=1;j--)
		{
			printf("%d",j);//每行后一半数字 
		}
		printf("\n");
	}
	return 0; 
}

类似题目:字母金字塔

输入大写字母A,B,C~,输出字母金字塔。

输入格式:

大写字母:F

输出格式:

     A
    ABA
   ABCBA
  ABCDCBA
 ABCDEDCBA
ABCDEFEDCBA

代码:

#include

int main(void)
{
	char c;
	int i, j;
	printf("输入你想输出的字母:");
	scanf("%c", &c);
	char ch = 'A';
	int num = c - 'A' + 1;/*num为需输出的从A开始的字符数,也为打印的总行数*/

	for ( i = 1; i <= num; i++)/*外层循环,控制打印的行数*/
	{
		for ( j = 0; j < num - i; j++)
		{
			printf(" ");/*打印空格,空格数量为总字符数减去当前行应打印的字符数*/
			/*有:本应打印空格数 + 应打印字符数 = 总字符数(总行数)*/
		}
		for (ch = 'A'; j < num; j++,ch++)
		{
			printf("%c", ch);/*打印正序字符*/
		}
		for(j=1,ch-=2;j

你可能感兴趣的:(PTA习题,c语言)