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 ...
随机推荐
- JavaScript 错误 throw、try、catch
JavaScript错误throw.try.catch try:语句测试代码的错误: catch:语句处理错误: throw:语句创建自定义错误: finally:语句在try和catch语句之后,无 ...
- 关闭Windows form窗体
原文https://www.cnblogs.com/HappyEDay/p/5713707.html 在c#中退出WinForm程序包括有很多方法 this.Close(); Application ...
- 洛谷P5356 [Ynoi2017] 由乃打扑克
题目 https://www.luogu.com.cn/problem/P5356 思路 由乃题,那么考虑分块(大雾,但确实分块是正解). 题面很清晰,就是求动态的区间第k小,支持区间加法操作. 根据 ...
- android手机无线调试
1.手机与电脑先通过usb链接2.adb devices查看是否链接成功(链接成功会显示设备列表)3.adb tcpip 5555(0-65535之间取值,默认5555输进去)5:断开数据线,查看手机 ...
- 理解函数调用_使用argument参数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【SQL Server 】Having——聚合函数的筛选
在SQL Server 中,有Having关键字. 它的作用是:因为Where关键字无法与聚合函数一起使用,所以Having子句可以在我们筛选分组后各自组成数据. 1 -- 筛选出成绩大于等于500的 ...
- 《CSOL大灾变》Mobile开发进度记录——武器购买界面设计
又到了休息日,有点时间继续这个移植游戏的开发.这次主要是关于武器系统模块的开发记录,关于CS以及CSOL的武器系统,它的购买菜单页面虽然谈不上复杂,但是也包含很多GUI元素,下面是CSOL其中的一个武 ...
- 在控制台中输入msqyl一直报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost'错误
错误: 在绿色Mysql的bin文件下打开cmd,输入mysql,一直报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' ...
- python爬虫代码中_获取状态码
'两种方式' import urllib status=urllib.urlopen("//www.jb51.net").code print status import requ ...
- 删除没有刀路的刀具.txt
1 UF_initialize(); 2 std::vector<tag_t>tool_tag; 3 std::vector<tag_t>del_tag; 4 tag_t ...