Accelerated C++学习笔记3—<循环和计数>
第2章 循环和计数
<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 << "*"; else cout << " "; ++c; } } cout << endl; } return 0; } </span>
运行结果:
<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>
运行结果:
<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>
运行结果:
<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>
运行结果:
<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>
运行结果:
<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; else cout << "Equal!"<< endl; return 0; } </span>
运行结果:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。