找了一些视频教程,课程的示例是输入一个三角形

要输入这样的图案,思路是可以进行拆解,分为两三角形分别输出,先输入一部分,比如,先输出上半部分三角形:

找到规律,可以发现,上面的三角形是7颗星,也就是说,我们要每次循环增加2颗星,下一行比上一行多两颗星 也就是递增的方式,逐次增加,可以这样写

for(int i = 1;i<7;i+=2)

{

}

这样一来,我们就可以让他循环5次

第二步,循环5次之后要输入*来组成一个三角形,也是每次要增加,第一行,要输入一颗*,第二行就是三颗*....到第五行输出七颗*

所以要在上面的循环体内再加一层for循环,那么可以这样写

for(int i = 1;i<5;i+=2)

{

  for(int a = 1;a < i ;++a)

  {  

    cout << "*";

  }

}

然后在第一for循环里加上换行

for(int i = 1;i<5;i+=2)

{

  for(int a = 1;a < i ;++a)

  {  

    cout << "*";

  }

  cout << endl;

}

然后测试一下,看下输出的是否正确

这样就输出了上半部分,那下再来考虑下半部分,下半部分就是一个递减的过程,也就是说一开始,就要输入五颗星

那么循环体就要和上面写的相反,循环的初始数要减少2,7颗星已经输出过了,我们少输出一行,所以要减2,然后每次循环递减2

for(int j = 5;j>=1;j-=2)

{

  for(int b =1; b<j; ++b)

  {

    cout<<"*";

  }

  cout<<endl;

}

然后一起运行

OK,下面来点扩层,如果要输出一个完整的三角型,像这样:

首先我们可以这样来拆分,第一步,我们输入空格,这个空格,我们想象成一个上一个例子的下半截,那么可这样写,最外层的循环体写法和上面一样:

for(int i=1;i<=10;++i)

{

for (int c = 1; c <=10 - i; ++c)
{
cout << "- ";

}

}

这里提一下,为什么是i<=10,而不是i<10?

假设,如果是i<10,那么输出的时候,就会少一行,因为循环到了9这里,就停了,

为了方便直观的看到这个效果,我们把i<=10,改成i<10测试一下

可以看到差了一行,所以我们就要把<10,改成i<=10

好了,这一步输出""空来占位,然后来输出*号的问题 ,输出10行,每次输入*,用空格来间格一下

for(int a=1;a<=i;++a)

{

  cout<< " " << "*";

}

然后在最外层,加一个换位符

for(int i=1;i<=10;++i)

{

for (int c = 1; c <=10 - i; ++c)
{
cout << "  ";

}

for(int a=1;a<=i;++a)

{

  cout<< " " << "*";

}

cout<<endl;

}

最终的效果,

这里也是抛砖引玉,网上的大佬太多,学习的过程中,不能只跟着视频教程的思维走,也要有自己的思考,在理解的同时,学会举一反三.欢迎留言交流.

C++基础之字符输出 cout的更多相关文章

  1. 【Windows编程】系列第三篇:文本字符输出

    上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接 ...

  2. api (三)文本字符输出 (转)

    在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和 ...

  3. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...

  4. Python基础篇(格式化输出,运算符,编码):

    Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s  替换字符串      %d 替换整体数字  ...

  5. Golang的基础数据类型-字符型

    Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...

  6. C++常用输出 cout、cerr、clog

    三者在C++中都是标准IO库中提供的输出工具: cout:写到标准输出的ostream对象: cerr:输出到标准错误的ostream对象,常用于程序错误信息: clog:也是输出标准错误流(这点儿和 ...

  7. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  8. JS实现打字机式字符输出效果

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. 将ASCII码位于32~126的95个字符输出到屏幕上,为了美观

    //将ASCII码位于32~126的95个字符输出到屏幕上,为了美观.要求小于100的码,前面加一个0,每八个转行class shijixing{ public static void main(St ...

  10. CRT远程连接server字符输出乱码解决一例

    CRT远程连接server字符输出乱码解决一例 环境: server:Centos 6.2 远端:win 7 CRT版本号:7.1.1 现象回想: 1.server端:中文字符显示正常,例如以下: 2 ...

随机推荐

  1. HTML学习笔记4----更多元素

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  2. MySQL 5.0版本的安装步骤

    一.MYSQL的安装 1.以管理员的身份运行"mysql_setup.exe" 2.点击"Next" 3.选择"I accept the terms ...

  3. vue子组件为父组件属性写值

    父组件调用子组件代码(关键字sync): <importModel :visible.sync="dialogModelVisible"></importMode ...

  4. k8s排错(Unhealthy)

      1,组件 Unhealthy 通过kubeadm安装好kubernetes v1.18.6 查看集群状态,发现组件controller-manager 和scheduler状态 Unhealthy

  5. 小程序ios设置map圆角不生效的问题解决方案

    给map组件加个view外框,设置如下样式即可 border-radius:10rpx; overflow:hidden; transform: translateY(0);

  6. 简单的理解synchronized锁升级

    前言 今天碰到一个synchronized锁升级的问题, 查了查, 发现一个帖子举例说明比较贴切, 特此转发, 如有问题, 欢迎讨论说明 转自: 木叶盒子 https://www.bilibili.c ...

  7. C++ OnlineJudge

    基本输入输出 1.接收多行数据,直到文件末尾 1 #include <iostream> 2 //#include <bits/stdc++.h> 3 #include < ...

  8. 删除Windows10资源管理器多余的入口

    ///// 删除3D对象 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Nam ...

  9. iOS OC开发,文件的下载、预览

    /// 下载/打开 - (void)downloadActionWithDownloadString:(NSString *)downloadString{ //url : 下载地址 NSString ...

  10. Vue3 + echarts 统一封装

    1. 新建 echartsLib.js 文件,统一导入需要的组件 import * as echarts from "echarts/core"; import { SVGRend ...