C++基础之字符输出 cout
找了一些视频教程,课程的示例是输入一个三角形

要输入这样的图案,思路是可以进行拆解,分为两三角形分别输出,先输入一部分,比如,先输出上半部分三角形:
找到规律,可以发现,上面的三角形是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的更多相关文章
- 【Windows编程】系列第三篇:文本字符输出
上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接 ...
- api (三)文本字符输出 (转)
在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和 ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...
- Python基础篇(格式化输出,运算符,编码):
Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s 替换字符串 %d 替换整体数字 ...
- Golang的基础数据类型-字符型
Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...
- C++常用输出 cout、cerr、clog
三者在C++中都是标准IO库中提供的输出工具: cout:写到标准输出的ostream对象: cerr:输出到标准错误的ostream对象,常用于程序错误信息: clog:也是输出标准错误流(这点儿和 ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- JS实现打字机式字符输出效果
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 将ASCII码位于32~126的95个字符输出到屏幕上,为了美观
//将ASCII码位于32~126的95个字符输出到屏幕上,为了美观.要求小于100的码,前面加一个0,每八个转行class shijixing{ public static void main(St ...
- CRT远程连接server字符输出乱码解决一例
CRT远程连接server字符输出乱码解决一例 环境: server:Centos 6.2 远端:win 7 CRT版本号:7.1.1 现象回想: 1.server端:中文字符显示正常,例如以下: 2 ...
随机推荐
- HTML学习笔记4----更多元素
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
- MySQL 5.0版本的安装步骤
一.MYSQL的安装 1.以管理员的身份运行"mysql_setup.exe" 2.点击"Next" 3.选择"I accept the terms ...
- vue子组件为父组件属性写值
父组件调用子组件代码(关键字sync): <importModel :visible.sync="dialogModelVisible"></importMode ...
- k8s排错(Unhealthy)
1,组件 Unhealthy 通过kubeadm安装好kubernetes v1.18.6 查看集群状态,发现组件controller-manager 和scheduler状态 Unhealthy
- 小程序ios设置map圆角不生效的问题解决方案
给map组件加个view外框,设置如下样式即可 border-radius:10rpx; overflow:hidden; transform: translateY(0);
- 简单的理解synchronized锁升级
前言 今天碰到一个synchronized锁升级的问题, 查了查, 发现一个帖子举例说明比较贴切, 特此转发, 如有问题, 欢迎讨论说明 转自: 木叶盒子 https://www.bilibili.c ...
- C++ OnlineJudge
基本输入输出 1.接收多行数据,直到文件末尾 1 #include <iostream> 2 //#include <bits/stdc++.h> 3 #include < ...
- 删除Windows10资源管理器多余的入口
///// 删除3D对象 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Nam ...
- iOS OC开发,文件的下载、预览
/// 下载/打开 - (void)downloadActionWithDownloadString:(NSString *)downloadString{ //url : 下载地址 NSString ...
- Vue3 + echarts 统一封装
1. 新建 echartsLib.js 文件,统一导入需要的组件 import * as echarts from "echarts/core"; import { SVGRend ...