输出一个等边三角形的字母阵,等边三角形的两腰为字母A,往里靠依次字母大一个(详细题目文章中描述)

题目简单的描述就是输出这么一个金字塔型的字母阵(等边三角形)

/*

A

ABA

ABCBA

*/

/*

//解法①:对称轴法

#import <stdio.h>

int main()

{

int i,j;

for(i=0;i<3;i++)

{

for(j=0;j<2-i;j++) //先把空格输出够

printf(" ");

for(j=-i;j<=i;j++) //在已经输出完的空格右边输出字母,第一行就是从-0~+0,共一个字母;第二行就是从-1~+1,共三个字母;第三行就是从-2~+2,共五个字母。正好将该行的字母数量和该行的行数相关联

printf("%c",65-abs(j)+i);  //这个输出字母,就是再‘A’的基础上(A是65)和i,j相加减得到的,这个试一试就能找到65和i,j之间的关系式,也不难。这里可能大家会说,为什么不能用65+j+i输出呢,只需验证一下,用 printf("%c",65+j+i); 这条语句输出的结果是下面的,显然,对称轴右边的部分不对,那么改进大家就知道怎么改了。

//    A

//   ABC

//  ABCDE

printf("\n");

}

return 0;

}

//解法②:最普通的解法,啥技术都不用,就是单纯分析行列下标和ASCII值(65 for ‘A‘)的关系,然后分块将输出的字符拼接起来

下面这个程序这样理解:

外层for语句控制行

三个内层for语句:1)控制空格输出;2)输出对称轴上的字母及其左边的字母;3)输出对称轴右边剩下的字母

/*

#import <stdio.h>

int main()

{

int i,j;

for(i=0;i<3;i++)

{

for(j=0;j<3-i;j++)

printf(" ");

for(j=0;j<=i;j++)

printf("%c",65+j);

for(j=0;j<i;j++){

printf("%c",64-j+i);

}

printf("\n");

}

return 0;

}

*/

就是这么简单,不喜勿喷,希望对初学C的同学有帮助!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-29 08:24:04

输出一个等边三角形的字母阵,等边三角形的两腰为字母A,往里靠依次字母大一个(详细题目文章中描述)的相关文章

String-需求把一个字符串的首字母转成大写,其余为小写(只考虑英文大小写字母字符)

package cn.lianxi; public class DaXiao { public static void main(String[] args) { /*需求把一个字符串的首字母转成大写,其余为小写(只考虑英文大小写字母字符) * 分析: * 1.先获取第一个字符 * 2.获取除了第一个字符的以外字符 * 3.把第一个字符转成大写 * 4.把第一个字符转成大写 * 5.把除第一个字符以外的字符转成小写 * 6.字符串拼接 * */ String str = "helloWORLD&

php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。

如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码. $str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意长度字符串 //解法一(最快速的解法,但是基本功要扎实) $arr=str_split($str); $arr=array_count_values($arr); arsort($arr); print_r($arr); //解法二(对逻辑能力有一定要求)

编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成

编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成.“组合 ”的规则如下: 1). str中的每个字母要么来自于part1,要么来自于part2; 2). part1和part2中字母的顺序与str中字母的顺序相同. 例如: "codewars"由"cdw"和"oears"组合而成: s: c o d e w a r s = codewars part1: c d w = cdw part2

有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //有一个从小到大排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. var arr = [1, 2, 3, 4, 5, 7, 9]; function insertScot

写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,、。。。。。

.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息"a,b,c不能构成三 角形",如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个 整数,调用此方法,并捕获异常. 代码: package exception; import java.util.Scanner; public class SanJiao { public stati

语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里,先介绍几个概念,也是图像处理当中的最常见任务. 语义分割(semantic segmentation) 目标检测(object detection) 目标识别(object recognition) 实例分割(instance segmentation) 语义分割 首先需要了解一下什么是语义分割(s

Java笔试题-C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩看,格式为:姓名 分数 班级

题目:C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩看,格式为:姓名 分数 班级如: 张三80 1班 李四90 2班 设计一个方法,读取文件里的信息,最后输出学生的信息,输出格式为:姓名:张三 分数:80 班级:1班 要求:使用类存储每一行学生信息,使用list存储所有的学生信息. public class ReadTextLine { public static void main(String[] args) throws IOException { List<Stude

一主两从的环境,如果主库挂了,如何选举一个从库作为主库?

如图: 如果M挂了,怎么从S1和S2中选举一个从库作为主库? 传统复制的解决方法 (1)查看从库状态: S1:show slave status: S2:show slave status: [email protected] [(none)]>show slave status\G*************************** 1. row ***************************               Slave_IO_State: Reconnecting af

一主一从的结构,怎么最小影响添加一个从库,变成一主两从

架构故障 1. 一主一从的结构,怎么最小影响添加一个从库,变成一主两从 场景:分别如下2种 (1)由M--〉S1变为M-->S1-->S2 (2)由M--〉S1变为M-->S1&M-->S2 ip 192.168.0.100 3306 ip 192.168.0.100 3307 ip 192.168.0.100 3308(3308为新添加的从库) (1)由M--〉S1变为M-->S1-->S2 在从库3307上面备份:(主库压力大,不影响业务情况下,在从库330