PTA L2-3 空心字母金字塔

202321332001陈佳丽 软件23 2023-11-19 13:40:36

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

(考察同学对于循环的运用)

输入格式:

一个大写英文字母。

输出格式:

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

输入样例:

输出样例:

                                         A
                                       B  B
                                     C      C
                                   D          D
                                EEEEEEEEE                       

 分析:

  1. 要控制每行输出的字母;
  2. 要控制每行开头的空格数;
  3. 要控制每行内部的空格数;

 因此需要三层循环.

 

代码如下:

#include <stdio.h>

int main()
{
	char ch;
	ch=getchar();
	int blank=39;
	
	for(char i='A';i<=ch;i++)
    {
		
		for(int j=blank;j>0;j--){printf(" ");}
		
		for(int k=1;k<=(i-'A')*2+1;k++)      //(i-'A'*2+1 用于计算中间空格的数量)
		{
			if(i!=ch)
			{
				if(k==1||k==(i-'A')*2+1)     //非最后一行,只在首和末输出字母
				{printf("%c",i);}
				else 
				{printf(" ");}
			}
			else 
			{
				printf("%c",i);              //最后一行全输出字母
			}
		}
		
		printf("\n");     //不要忘记每行输出完成后要换行
		blank--;          //每完成一行,空格数减一
	}
	return 0;
}

 

 总结:

对于形状的输出,一般都是对每行的输出进行一层循环;

对每行的内容再进行循环,达到输出特定形状的要求。

 

...全文
48 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
#### 收益: 学习《optee系统开发精讲 》套餐的收益如下:1、全体系的掌握optee的核心知识点(多核多线程、启动流程、各类API、TA/PTA/STA、driver、service、各类设计思想、内存管理、中断管理...);2、掌握TEE OS的设计核心思想(不限与optee,对其它TEE也是如此),能够进入软件架构层次的各项设计;3、快速熟悉大系统软件的各项组件,能够进行大系统软件之间的设计或排查问题4、学习和理解理解Armv8/Armv9架构、Trustzone架构5、技术水平提升N个level, 掌握快速的学习方法;#### 课程简介和大纲 该课程包含但不限与以下章节:optee的组件介绍optee os启动流程optee os的初始化流程optee os线程向量表及其作用进入optee os的八种方式optee os的异常向量表和设计模型optee os对irq中断的处理optee os对fiq中断的处理optee os的内存管理optee os的MMU的使用optee os的根密钥(信任根)optee os的RPC机制optee os的存储系统optee os的SFS系统optee os的RPMB机制的实现optee os的Timer实现optee os中实现的GP APIoptee os中的系统调度optee os中密码学函数的支持optee os中的线程调度CA/TA的开发模型optee os中的serviceoptee os中的 PTAoptee os中的 secure driveroptee os中的 Early TAoptee中spinlock的实现原理详解optee中mutex的实现方式optee的栈指针和栈内存的介绍optee中使用虚函数(平台客制化)的设计模型共享内存的介绍optee os的标准错误码TA的签名和验签TA链接静态库的方法

198

社区成员

发帖
与我相关
我的任务
社区描述
程序设计基础课程教学群
c语言c++ 高校 福建省·厦门市
社区管理员
  • xmzq001
  • jiangxiaoju
  • 星落化尘
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

请加入学习社区的软件23级同学修改社区昵称为学号+姓名,以便登记作业提交情况。

试试用AI创作助手写篇文章吧