Accelerated C++学习笔记3—<循环和计数>
来源:互联网 发布:幸运星seo 编辑:程序博客网 时间:2024/05/22 19:50
第2章 循环和计数
本节主要利用改进输出问候语的程序来改进如何支持循环和条件分支的。
1、使用循环输出一个周围带框架框住的问候语,且用户自己提供在框架与问候语之间的空格的个数。
<span style="font-family:KaiTi_GB2312;">// lesson2_1.cpp : 定义控制台应用程序的入口点。//功能:使用循环//时间:2014.5.8#include "stdafx.h"#include "iostream"#include "string"using namespace std;int _tmain(int argc, _TCHAR* argv[]){//请求用户输入姓名cout << "Please enter your first name:: ";//读入用户输入的姓名string name;cin >> name;//请求用户输入围住问候语的空白个数cout << "Please enter the space size:: ";int pad;cin >> pad;//构造我们将要输出的信息const string greeting = "Hello, " + name + "!";//围住问候语的空白个数//const int pad = 1;//待输出的行数与列数const int rows = pad * 2 + 3;const string::size_type cols = greeting.size() + pad * 2 + 2;//输出一个空白行,把输出与输入分隔开cout << endl;//输出rows行//不变式:到目前为止,我们已经输出了r行for(int r = 0; r != rows; ++r){string::size_type c = 0;//不变式:到目前为止,在当前行中我们已经输出c个字符while (c != cols){//应该输出问候语了吗?if(r == pad + 1 && c == pad + 1){cout << greeting;c += greeting.size();}else {//我们是位于边界上吗?if (r == 0 || r == rows - 1 || c == 0 || c == cols - 1)cout << "*";elsecout << " ";++c;}}cout << endl;}return 0;}</span>
运行结果:
2、改写程序,让它在单独的一条输出表达式中输出所有的空白行
<span style="font-family:KaiTi_GB2312;">// lesson2_2.cpp : 定义控制台应用程序的入口点。//功能:改写代码,程序每次一个字符地输出了大部分的空白行;且让用户自己提供在框架和问候语之间的空格个数//时间:2014.5.8#include "stdafx.h"#include "iostream"#include "string"using namespace std;int _tmain(int argc, _TCHAR* argv[]){//请求用户输入姓名cout << "Please enter your first name:: ";//读入用户输入的姓名string name;cin >> name;//请求用户输入围住问候语的空白个数cout << "Please enter the space size:: ";int pad;cin >> pad;//构造我们将要输出的信息const string greeting = "Hello, " + name + "!";//围住问候语的空白个数//const int pad = 1;//待输出的行数与列数const int rows = pad * 2 + 3;const string::size_type cols = greeting.size() + pad * 2 + 2;const string spaces = string(greeting.size() + pad * 2, ' ');//输出一个空白行,把输出与输入分隔开cout << endl;//输出rows行//不变式:到目前为止,我们已经输出了r行for(int r = 0; r != rows; ++r){string::size_type c = 0;//不变式:到目前为止,在当前行中我们已经输出c个字符while (c != cols){//应该输出问候语了吗?if(r == pad + 1 && c == pad + 1){cout << greeting;c += greeting.size();}else {//我们是位于边界上吗?if (r == 0 || r == rows - 1 || c == 0 || c == cols - 1){cout << "*";++c;}else if (r == pad + 1){cout << " ";++c;}else {cout << spaces;c += spaces.size();}}}cout << endl;}return 0;}</span>
运行结果:
3、编写一个程序,让它输出一系列的"*"字符,程序输出的这些字符将构成一个正方形,一个长方形,一个三角形
<span style="font-family:KaiTi_GB2312;">// lesson2_3.cpp : 定义控制台应用程序的入口点。//功能:编写一个程序,让它输出一系列的"*"字符,程序输出的这些字符将构成一个正方形,一个长方形,一个三角形#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){cout << "**" << endl;cout << "**" << endl;cout << endl;cout << "****" << endl;cout << "****" << endl;cout << endl;cout << "*" << endl;cout << "**" << endl;cout << "***" << endl;cout << "****" << endl;cout << "*****" << endl;return 0;}</span>
运行结果:
4、编写一个程序来依次输出从10~-5的整数
<span style="font-family:KaiTi_GB2312;">// lesson2_4.cpp : 定义控制台应用程序的入口点。//功能:编写一个程序来依次输出从10--5的整数#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){int i = 11;while (i > -5 ){--i;//这里也可以用i--cout << i << endl;}return 0;}</span>
运行结果:
5、编写一个程序来计算区间[1,10]中所有数值的乘积
<span style="font-family:KaiTi_GB2312;">// lesson2_5.cpp : 定义控制台应用程序的入口点。//功能:编写一个程序来计算区间[1,10]中所有数值的乘积#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){int sum = 1;for(int i = 1; i < 10; i++)sum = sum * i;cout << "sum: "<< sum << endl;return 0;}</span>
运行结果:
6、编写一个程序,让用户输入两个数值并告知用户在这两个数值中哪一个比较大
<span style="font-family:KaiTi_GB2312;">// lesson2_6.cpp : 定义控制台应用程序的入口点。//功能:编写一个程序,让用户输入两个数值并告知用户在这两个数值中哪一个比较大#include "stdafx.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){cout << "Please enter the first number: ";int number1;cin >> number1;cout << "Please enter the second number: ";int number2;cin >> number2;if (number1 >= number2)cout << "First is greater" << endl;else if (number1 < number2)cout << "Second id greater" << endl;elsecout << "Equal!"<< endl;return 0;}</span>
运行结果:
小结:
1)两个类型:bool 代表真值得内部类型;其值可以是true或者false
string::size_type 无符号整数类型,可以保存任何字符串的长度
2)对于循环中的while,if,if……else……,for等常用的语句这里不做详细分析。大家不懂可以去搜寻些资料。
——To_捭阖_youth
0 0
- Accelerated C++学习笔记3—<循环和计数>
- 【记录】Accelerated C++:Practical Programming by Example第2章:循环和计数
- Accelerated C++学习笔记1—<开始学习C++>
- Accelerated C++ 学习笔记3
- Accelerated C++学习笔记5—<组织程序和数据>
- Accelerated c++之循环与计数
- 《Accelerated C++》 笔记摘录
- 《Accelerated C++》前面部分笔记
- Accelerated C++<3-2>
- Accelerated C++<4-3>
- Accelerated C++学习笔记 5 管理内存和低级数据结构
- Accelerated C++学习笔记 Ch1
- Accelerated C++学习笔记 Ch2
- Accelerated C++学习笔记 Ch3
- Accelerated C++ 学习笔记1
- Accelerated C++ 学习笔记2
- Accelerated C++学习笔记4
- iOS学习笔记第3天——C基础:循环结构while和for
- 【Android进阶】Android面试题目整理与讲解
- 程序设计实习MOOC/第十三周编程作业/A:集合加法
- Eclipse中Velocity插件安装注意事项
- 小知识
- Python send code
- Accelerated C++学习笔记3—<循环和计数>
- 电脑连接打印机
- 黑马程序员_高新技术-JDK1.5新特性之注解
- C语言字节对齐
- gcc/g++基本命令介绍
- wxPython--基础组件-窗体拆分布局
- windows坐标
- 《笔记本电脑关闭数字小键盘》
- IOS6 字体高亮显示