首页 > 其他分享 >打印空心字母金字塔

打印空心字母金字塔

时间:2023-04-27 19:23:34浏览次数:35  
标签:ch int 字母 打印 空心 金字塔

打印空心字母金字塔


今天独自做了一个这个题,简单的分享一下我的思路和代码

#include <stdio.h>

int main() {
////char ch;
////ch=getchar();
//
//
////这里我们先输出带有E行的图案
//for(int i='A';i<='A';i++){//用字符来做循环条件的参数
//	for(int j=0;j<39;j++){//先打印第一行。先打印39个空格
//		printf(" ");
//
//	}
//	printf("A");打印一个A
//	printf("\n");
//}
//
//
//for(int i='B';i<=('E'-1);i++){//找到中间n-2行的规律两端是字母,中间是空格
//
//	for(int j=0;j<39-(i-'A');j++){//打印前面的空格
//
//		printf(" ");
//
//
//	}
//	printf("%c",i);//打印开头的字母
//	for(int k=0;k<(2*(i-'A')-1);k++){
//
//
//
//		printf(" ");//打印两字母间的空格
//	}
//	printf("%c",i);//打印每行最后的字母
//
//	printf("\n");
//
//
//}
//
//for(int i='E';i<='E';i++){
//	for(int j=0;j<39-(i-'A');j++){
//		printf(" ");//打印最后一行的空格,与前面空格的规律一样
//
//
//	}
//	for(int k=0;k<(2*(i-'A')+1);k++){
//
//
//
//		printf("%c",i);//打印最后一行的字符;与前面的规律不一样
//
//	}
//}

	//下面我们再输出n行
	char ch;
	scanf("%c", &ch);//搜集字母


	//这里我们先输出带有E行的图案
	if (ch == 'A') {//这里要判断输入是不是A,因为A和其他的字母输出不一样


		for (int i = 'A'; i <= 'A'; i++) {
			for (int j = 0; j < 39; j++) {
				printf(" ");

			}
			printf("A");
		}
	} else {

		for (int i = 'A'; i <= 'A'; i++) {
			for (int j = 0; j < 39; j++) {
				printf(" ");

			}
			printf("A");
			printf("\n");
		}//这里是打印第一行




		for (int i = 'B'; i <= (ch - 1); i++) {


			for (int j = 0; j < 39 - (i - 'A'); j++) {

				printf(" ");


			}
			printf("%c", i);
			for (int k = 0; k < (2 * (i - 'A') - 1); k++) {



				printf(" ");
			}
			printf("%c", i);

			printf("\n");


		}//上面的打印接下来镂空的n-2行

		for (int i = ch; i <= ch; i++) {
			for (int j = 0; j < 39 - (i - 'A'); j++) {
				printf(" ");


			}
			for (int k = 0; k < (2 * (i - 'A') + 1); k++) {



				printf("%c", i);

			}
		}//这里是打印最后一行
	}
	return 0;
}

标签:ch,int,字母,打印,空心,金字塔
From: https://www.cnblogs.com/harper886/p/17360010.html

相关文章

  • jeecgboot启动时日志打印所有接口,作为开发时的参考作用吧。
    主要的方式是使用了RequestMappingHandlerMapping这个bean当中保存了所有的映射、对应的controller类、方法等等的信息。在单体启动类中取出这个bean然后遍历就可以了,代码如下:/***单体启动类(采用此类启动为单体模式)*/@Slf4j@SpringBootApplicationpublicclassJeecgSyste......
  • Microsoft Print To PDF如何打印到网络地址
    正常情况下,MicrosoftPrintToPDF是仅提供本地PDF打印功能的。不过还是可以通过配置,打印到网络地址。这里需要用到文件共享功能假设我们要使用MicrosoftPrintToPDF从A电脑打印到B电脑的D:\output文件夹。操作方法如下 1、打开D:\output文件夹属性,切换到共享页,打开共享对......
  • 请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来....
    先转载过来以后再研究importjava.io.*;importjava.util.Stack;publicclassmyTest{privatemyTreetree;/***二叉树的插入,参数为(关键字,数据)***/publicvoidinsert(intkey,intdata......
  • Python打印一个字典,输出带双引号
    Python中dict(字典)默认的表示方式是用单引号表示键和值,例如:my_dict={'key1':'value1','key2':'value2'}print(my_dict)这将输出:{'key1':'value1','key2':'value2'}如果你想使用双引号代替单引号进行表示,可以使用json......
  • 打卡 打印点、圆、圆柱信息
    定义平面二维点类CPoint,有数据成员x坐标,y坐标,函数成员(构造函数、虚函数求面积GetArea,虚函数求体积函数GetVolume、输出点信息函数print。由CPoint类派生出圆类Cirle类(新增数据成员半径radius),函数成员(构造函数、求面积GetArea,虚函数求体积函数GetVolume、输出圆面积信息函数pr......
  • 扩展 jol 源码包 打印 Mark Word
    参考: https://blog.csdn.net/qq_38505969/article/details/1234463101、下载源码并进行方法扩展2、pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http......
  • 打印上下三角形
    #include<iostream>usingnamespacestd;intmain(){ intn; while(cin>>n){ for(inti=1;i<=n;i++) { for(intj=1;j<=n-i;j++) { cout<<""; } for(intj=1;j<=2*i-1;j++) { cout<<"*"; } cout<<end......
  • Android 开发中打印日志
    在Android开发过程中,我们常常需要打印堆栈来定位问题或者调试问题,这里记录一下相关的方法。1.MTK平台1.1preloader 1.2LK 2.高通平台2.1sbl 2.2xbl 2.3abl  3.kernel  4.native层4.1打印堆栈 Android.bpcc_binary{name:"print_s......
  • 将字符串以不同的进制打印
    在很多时候,我们需要将结果以不同的形式打印出来,这里我们记录一下相关的操作。1.以十六进制输出代码:#include<stdio.h>#include<string.h>voidprint_hex(char*buffer,intlen){ inti; printf("******************startcode**********************************\n"......
  • 关于MRS环境下printf打印不加换行无法打印显示问题
    关于MRS环境下printf打印不加换行无法打印显示问题 原因:默认情况下,stdout流是行缓冲的,因此仅在到达换行符后(或被告知时)才显示缓冲区中的内容. 关于stdout,C语言中的stdout是一个定义在<stdio.h>的宏(macro),它展开到一个FILE*(“指向FILE的指针”)类型的表达式(不一定是常量......