《C++ Primer》第五版课后习题解答_第一章(1)(01-11)
系统环境: windows 10 1703
编译环境:Visual studio 2017
1.1
int main() { return 0; }
在cmd命令行窗口中运行无结果。
1.2
int main() { return -1; }在cmd命令行窗口中运行无结果
1.3
#include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; }
1.4
#include <iostream> int main() { std::cout << "Enter two integers:" << std::endl; int v1 = 0, v2 = 0; std::cin >> v1 >> v2; std::cout << "The product of " << v1 << " and " << v2 << " is " << v1*v2 << std::endl; return 0; }写这道题的时候被bug困住了,检查很多遍才发现,是因为 std::cin 的结尾不需要添加 std::endl 。
1.5
#include <iostream> int main() { std::cout << "Enter two integers:"; std::cout << std::endl; int v1 = 0, v2 = 0; std::cin >> v1 >> v2; std::cout << "The product of "; std::cout << v1; std::cout << " and "; std::cout << v2; std::cout << " is "; std::cout << v1*v2; std::cout << std::endl; return 0; }
不合法。程序目的是输出。第二行和第三行的句尾各多了一个分号。
修正方法:1. 在第二行第三行之前各增加 std::cout
2. 删除第二行第三行句尾的分号。
1.7
#include <iostream> int main() { /*std::cout << "Enter two integers:"; *std::cout /*<< std8*/::endl; *int v1 = 0, v2 = 0; *std::cin >> v1 >> v2; *std::cout << "The product of "; *return 0; */ }
错误信息为
1.8
1. 正确,输出 /*
2. 正确,输出 */
3. 错误。 可修正为:
std::cout << /* "*/" */";4. 正确,输出 /*
1.9
#include <iostream> int main() { int sum = 0, i = 50; while (i <= 100) { sum += i; ++i; } std::cout << "The sum of 50 to 100 inclusive is: "<< sum << std::endl; return 0; }
1.10
#include <iostream> int main() { int i = 10; while (i >= 0) { std::cout << i << std::endl; --i; } return 0; }
1.11
#include <iostream> int main() { std::cout << "Enter two integers:" << std::endl; int i1 = 0, i2 = 0; std::cin >> i1 >> i2; //比较 i1 和 i2 的大小,若 i1 大于 i2, 则交换二者数值。 if (i1 > i2) { i1 = i1 + i2; i2 = i1 - i2; i1 = i1 - i2; } while (i1 <= i2) { std::cout << i1 << std::endl; ++i1; } return 0; }