三角形输出及升级版三角形(c)

/*
三角形输出

输入一个整数 n (0<n<=26),表示字母三角形的层数

输入
2
输出
 A
BBB 

输入
3
输出
  A
 BBB
CCCCC 
*/ 
#include<cstdio>

int main()
{
    
    
	int n;
	scanf("%d", &n);
	
	for(int i=1;i<=n;i++)
	{
    
    
		for(int j=1;j<=n-i;j++)
		{
    
    
			printf(" ");
		}
		
		for(int m=1;m<=2*i-1;m++)
		{
    
    
			printf("%c", 'A'+i-1);
		}
		printf("\n"); 
	}
	
	return 0;
 } 
/*
升级版三角形

输入一个大写字母(A-Z)或者一个数字(1-9)。

比如输入 F 的时候,输出:
     A
    ABA
   ABCBA
  ABCDCBA
 ABCDEDCBA
ABCDEFEDCBA 

输入时 3 的时候,输出:
  1
 121
12321 
*/ 
#include<cstdio>

int main()
{
    
    
	char n;
	scanf("%c", &n);
	
	if(n>='A' && n<='Z')    //字母
	{
    
    
		for(int i=1;i<=n-'A'+1;i++)     // 第 i 行 
		{
    
    
			for(int j=1;j<=n-'A'+1-i;j++)
			{
    
    
				printf(" ");     // 输出空格 
			}
		
			for(int j=1;j<=i;j++)
			{
    
    
				printf("%c", (char)('A'+j-1));           // 输出前半段字母 
			}
			
			for(int j=i-1;j>0;j--) 
			{
    
    
				printf("%c", (char)('A'+j-1));   
			}
			
			printf("\n");
		}
	} else {
    
               // 数字
		for(int i=1;i<=n-'1'+1;i++)    
		{
    
    
			for(int j=1;j<=n-'1'+1-i;j++)
			{
    
    
				printf(" ");
			}
		
			for(int j=1;j<=i;j++)
			{
    
    
				printf("%c", (char)('1'+j-1)); 
			}
			
			for(int j=i-1;j>0;j--) 
			{
    
    
				printf("%c", (char)('1'+j-1));   
			}
			
			printf("\n");
		}
	}

	return 0;
}

Guess you like

Origin blog.csdn.net/KennGum/article/details/106686010