效果如下:

我是怎么想的:

总共需要打印6行字母,那么就需要一个循环来控制打印第几行,大概代码如下:

for(int i=0;i<6;i++)

{

}

每行都会打印字母,而且循环越往后,需要打印的字母越多,那么每行打印字母也需要一个循环,比如打印F到A这需要一个循环,其它也是同样的道理。每行打印完都需要输出一个换行,所以代码变成下面这样

for(int i=0;i<6;i++)

{

for(char j='F';XXXXX;j--)

{

}

printf("%c",j);

}

因为每行都是从F开始打印的,所以j的初始值肯定是F,有因为每次是从F往A这个方向打印的,那么肯定有j--这个操作,上面的代码不难理解。

真正难的是j=‘F’后面这个进入循环的条件,这个怎么想。

用列举法推出来的。

当i=0的时候,需要打印第一行字母,此时j='F',那么我们给j一个什么样的关系表达式,才能够让j只能取到'F'这一个值呢?

是不是j>'F'-1

char j='F',j>'F'-1;j-- j的定义域只能取到‘F’

当i=1的时候,需要打印第二行字母,也就是需要里面的循环执行两次,那么给j一个什么样的表达式,才能够让j的值渠道'F'和‘E’呢? 是不是j>'F'-2;

我们不能直接把'F'-1和'F'-2这两个表达式直接写进去,不然输出的是固定值,我们想要这两个值和i发生一定的关系

当i=0时候,我们希望j>'F'-1='F'-(0+1)

当i=1时候,我们希望j>'F'-2='F'-(1+1)

当i=3时候,我们希望j>'F'-4='F'-(3+1)

所以通项公式就是j>'F'-(i+1)

最后代码如下:

int main(void)

{for (int i = 0; i < 6; i++)

{for (char j = 'F'; j > 'F'-(i+1); j--)

{

printf("%c",j);

}

printf("\n");

}return 1;

}

update:2018.10.2

这次思考过程和上次完全不一样。

首先需要一个外层循环来控制打印的行,共需要打印6行,每循环一次打印一行数据。还需要一个内层循环控制要打印的字符

由于,内存循环每次都是从F开始打印的,所以内存循环每次都要初始化变量为F,每次打印一个字符后就让字符减去1,这样就可以打印比F小的那个字符了,那要打印多少个字符呢?我们需要用一个变量来记录,然后每进行一次外层循环这个变量的值都要+1,因为第二行要比第一行多打印一个字符。

int main(void)

{charch ;//当前要打印的字符int row_count=1;//每行需要打印额字符个数,从第一行开始intcount;//打印了几个字符了for (int i = 0; i < 6; i++,row_count++)

{for (ch='F',count = 0; count < row_count; count++,ch--)

{

printf("%c",ch);

}

printf("\n");

}return 1;

}

字母三角形c语言字母不重复,c语言实践 打印字母三角形相关推荐

  1. c语言输出6行三角形,c语言实践 打印字母三角形

    效果如下: 我是怎么想的: 总共需要打印6行字母,那么就需要一个循环来控制打印第几行,大概代码如下: for(int i=0;i<6;i++) { } 每行都会打印字母,而且循环越往后,需要打印 ...

  2. 编程练习2--编写一个程序,提示用户输入大写字母。使用嵌套循环以下面金字塔型的格式打印字母:

    #include"stdio.h"int main() {int row, row_all, blank, row_plus, row_minus;char ch;printf(& ...

  3. Problem I: 打印字母菱形图案

    计算机学院c语言2017年期末考试 Problem I: 打印字母菱形图案 Description 从键盘输入一个整数n(1≤n≤10),打印出指定的数字图形. Input 正整数n(1≤n≤10). ...

  4. c语言输出字母abcd,有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下:...

    有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下: 答案:6  信息版本:手机版 解决时间 2019-10-06 21:36 已解决 2019-10-06 01:51 1.包 ...

  5. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...

    [摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...

  6. C语言学习之从键盘输入任意一个字母,输出它的对应大(小)写

    C语言学习之从键盘输入任意一个字母,输出它的对应大(小)写 通过键盘随意输入一个大写或小写字母,输出它对应的小写或大写字母,若不是字母则提示"输入有误!" #include < ...

  7. 组合学:使用10个数字与52个字母生成1477万个不重复的4位串码

    使用10个数字与52个字母生成1477万个不重复的4位串码(比如应用系统流水号应用场景),那么如何实现动态生成这类串码,并保证其不重复呢? 一.主要思想(进位思想): 将0-9-A-z,62个字符做为 ...

  8. 打印字母对称型的金字塔图案(C语言)

    题目:(c语言) 让程序要求用户输入一个大写字母,使用嵌套环产生像下面这样的金字塔图案: #include <stdio.h> #include <stdlib.h>int m ...

  9. c语言中计算一个字母的序数,C语言编程 输入一串字符统计英文字母的个数

    C语言编程:输入一行字符,至少50个,统计其中英文字母,数字,其他字母个数 楼上那个不能统计空格个数,我这个可以#include#includeintmain(){intcnt_c=0,cnt_n=0 ...

最新文章

  1. JAVA 实现 快速排序算法
  2. data后缀文件解码_封装ThinkPHP6.0通用文件上传
  3. adb devices指令实例讲解
  4. 0109互联网新闻 | 微信推智言对话系统“小微”,接入第三方生态;华为发布首款数据中心交换机...
  5. IDEA 每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
  6. Android 之View绘图原理总结
  7. JDK 18 / Java 18 GA 发布
  8. Lync 小技巧-56-检查你用的公网证书是否正确
  9. 微软4月补丁星期二修复119个漏洞,含2个0day
  10. UIWindow的rootViewController的问题
  11. QT表格的宽度自适应调整方法void setStretchLastSection ( bool stretch ) 转帖
  12. bg、jobs、fg
  13. 单片机程序编写常使用的程序架构
  14. PostgreSQL/pgsql生成随机的姓名的函数
  15. php fpm listen.owner,php-fpm配置详解
  16. 上海Oracle用户组我的页面
  17. 【广告架构day1】爱奇艺广告系统的演进之路:实践中的一些经验
  18. Kubernetes--Pod的DNS域名和相关特性
  19. Java项目:医院管理系统(java+SSM+layui+maven+mysql)
  20. Kotlin实战案例:实现RecyclerView分页查询功能(仿照主流电商APP,可切换列表)

热门文章

  1. 比较脑磁图与高密度脑电图的内在功能连通性
  2. 李秘书讲写作:听讲三分钟,写作一窍通(代序)
  3. 项目管理整理第二篇:项目计划(4)——质量计划
  4. 自监督模型---概述
  5. 基于多核平台优化的OGRE 3D渲染引擎
  6. html coord使用方法,oozie 使用coord的方式
  7. 【综述】NLP领域迁移学习现状
  8. win7显示方向旋转快捷键禁用及图形属性打开方法
  9. 红黑树理解(四) 左旋
  10. dbeaver下载镜像站