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 ...
随机推荐
- Vue的v-html指令说明,含案例
v-html指令总结: 1.作用:向指定节点中渲染包含html结构的内容 2.与插值语法的区别: (1)v-html 会替换掉节点中所有的内容,{{}}则不会 (2)v-html 可以识别html 结 ...
- IDEA中已配置阿里镜像,但maven无法下载jar包的问题
然后我还出现了一个问题,由于使用了HTTPS,存在着SSL证书验证的问题,因此我在IDEA中添加了一行配置: 配置如下: -Dmaven.wagon.http.ssl.insecure=true -D ...
- nginx 解决 405 not allowed错误
1.http nginx.conf文件 error_page 后 增加代码 error_page 405 =200 @405; location @405 { proxy_method GET; pr ...
- px、em、rem的区别css单位换算
在对页面进行自适应时,查阅相关资料了解到,通常有两种方式将px转换为em或者rem,下面就上述三者之间的联系进行讲解: em与px转换 一般浏览器默认1em=16px,通过设置font-size大小来 ...
- [BOM]打包代码前,快速去除前端日志
一般开发时使用console.log() 方法.于是可以在js文件的最开头加上: console.log = function(){}
- Mac 下的虚拟机Parallels_Desktop_15
Mac 下的虚拟机Parallels_Desktop_15 1,取得 Mac Parallels_Desktop_15.dmg 后挂载,密码:7410 2,点关闭!关闭!关闭!,千万不要点&quo ...
- sql中exists用法
exists关键字介绍 exists强调的是 是否返回结果集,不要求知道返回什么,比如: SELECT * FROM AM_USER WHERE EXISTS (SELECT 1 FROM AM_RO ...
- session.timeout.ms、heartbeat.interval.ms、max.poll.interval.ms的含义及联系
如果你使用消费者,那么一定会接触这几个参数: session.timeout.ms.heartbeat.interval.ms.max.poll.interval.ms,先让我们看看分别代表什么含义吧 ...
- MBR与GPT[转]
MBR分区 MBR的意思是"主引导记录",是IBM公司早年间提出的.它是存在于磁盘驱动器开始部分的一个特殊的启动扇区. 这个扇区包含了已安装的操作系统系统信息,并用一小段代码来启动 ...
- Day09-方法
方法 一.何谓方法 java方法是语句的集合,他们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则: 方法的本意是功能 ...