字符菱形(空心)

在这里插入图片描述

在这里插入图片描述

#include <stdio.h>
int main(void)
{
	char a[26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
    int n, t, number;
    char c;
    printf("输入:");
    scanf( "%c %d", &c, &n );
    if( n%2==0 || n>9 ){
    	printf("输入错误"); 
    	return 0;
	}
	for( int i=0; i<26; i++ ) {
		if( c == a[i]) {
			number = i;
			break;
		}
	}
	
    for( int i=1; i<=n/2+1; i++ ) {
		
	    for( int j=n/2+1; j>i; j-- ) {
	    	printf(" ");
		}
		
		for( int k=1; k<=2*i-1; k++ ) {
			if( k==1 || k==2*i-1) {
				printf("%c", a[number]);
			}
			else{
				printf(" ");
			}
		}   
   		printf("\n");
   		number++;
	 } 
	 number -= 2;
	 
/*下一半*/
	t = 2*(n/2);
	for( int i=1; i<=n/2; i++ ) {
		for( int k=0; k<i; k++ ) {
			printf(" ");
		} 
		for( int j=t; j>1; j-- ) {
			if( j==t || j==2 ) {
				printf("%c", a[number]);
			}
			else {
				printf(" ");
			}
		} 
		t -= 2;
		if( i < n - 1 )               //末尾无空行 
		printf( "\n" ) ;
		number--;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值