C++ Primer第5版 第一章课后练习答案
合集《C++ Primer第5版》 课后练习答案 - 丸子球球 - 博客园 (cnblogs.com)
练习1.9
#include <iostream>
int main()
{
int sum = 0, val = 50;
while (val <= 100) {
sum += val;
++val;
}
std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
return 0;
}
练习1.10
#include <iostream>
int main()
{
int val = 10;
while (val >= 0) {
std::cout << val-- << std::endl;
}
return 0;
}
练习1.11
#include <iostream>
int main()
{
std::cout << "Please enter the two integers" << std::endl;
int start, end;
//我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
std::cin >> start >> end;
if (start > end) {
std::swap(start, end);
}
while (start <= end) {
std::cout << start++ << std::endl;
}
return 0;
}
练习1.12
for循环将-100到100之间的整数相加,sum终值为0
练习1.13
#include <iostream>
int main()
{
int sum = 0;
for (int val = 50; val <= 100; ++val) {
sum += val;
}
std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
return 0;
}
#include <iostream>
int main()
{
for (int val = 10; val >= 0; val--) {
std::cout << val << std::endl;
}
return 0;
}
#include <iostream>
int main()
{
std::cout << "Please enter the two integers" << std::endl;
int start, end;
//我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
std::cin >> start >> end;
if (start > end) {
std::swap(start, end);
}
for (; start <= end; start++) {
std::cout << start << std::endl;
}
return 0;
}
练习1.14
for循环
循环控制变量的初始化和修改都放在语句头部分,书写形式较简洁,且适用于循环次数已知的情况。在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了。
while循环
循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)
练习1.15
练习1.16
#include <iostream>
int main()
{
std::cout << "Please enter some integers" << std::endl;
int sum=0, val=0;
//我这里没有对传入格式进行判断,如果大家有需要可以添加这个功能
while (std::cin >> val) {
sum += val;
}
std::cout << "Sum of Integers is" << sum << std::endl;
return 0;
}
练习1.17
如果输入的所有值都是相等的:输入值 occurs 输入次数 times
如果没有重复值:依次输出 输入值 occurs 1 times
练习1.18
visual studio2019环境:
cl /EHsc occurs.cpp
occurs
练习1.19
练习1.20
#include <iostream>
#include "Sales_item.h"
int main() {
Sales_item total;
while (std::cin >> total) {
std::cout << "Record:" << total << std::endl;
}
return 0;
}
命令行输入
执行文件名 <输入数据所在文件 >写入文件
形似:out_item <data\book_sales >data\outfile
练习1.21
#include <iostream>
#include "Sales_item.h"
int main() {
Sales_item item1, item2;
std::cin >> item1 >> item2;
std::cout << item1 + item2 << std::endl;
return 0;
}
练习1.22
#include <iostream>
#include "Sales_item.h"
int main()
{
Sales_item item, sum_item;
if (std::cin >> sum_item) {
while (std::cin >> item) {
sum_item += item;
}
}
std::cout << sum_item << std::endl;
return 0;
}
练习1.23
#include <iostream>
#include "Sales_item.h"
int main()
{
Sales_item item1, item2;
if (std::cin >> item1) {
int cnt = 1;
while (std::cin >> item2) {
if (item1.isbn() == item2.isbn())
cnt++;
else {
std::cout << item1.isbn() << " " << cnt << std::endl;
cnt = 1;
item1 = item2;
}
}
std::cout << item1.isbn() << " " << cnt << std::endl;
}
return 0;
}
练习1.24
命令行代码形似:
add_items <data\book_sales >data\outfile