C++ Primer 习题(第一章附答案)

练习1.1-1.2 略

练习 1.3 编写程序,在标准输出上打印 hello,world。

#include <iostream>
using namespace std;

int main()
{
	cout << "hello ,world" << endl;
	return 0;
}

练习1.4 我们的程序使用加法运算符+来将两个数相加。编写程序使用乘法运算符*,来打印两个数的积。

#include<iostream>
using namespace std;

int main()
{
	cout << " please enter two numbers " << endl;
	int num1, num2;
	cin >> num1 >> num2;
	cout << "the product of two numbers is " << num1 * num2 << endl;
	return 0;
}

练习1.5-1.8 略

练习1.9 编写程序,使用while循环将50到100的整数相加。

#include<iostream>
using namespace std;

int main()
{
	int a = 50;
	int sum = 0;
	while (a<101)
	{
		sum += a;
		a++;
	}
	cout << "So the integer sum is " << sum << endl;
	return 0;
}

练习1.10 除了++运算符将对象的值增加1以外,还有一个递减运算符(–)实现将值减少1.编写程序,使用递减运算符在循环中按递减序打印出10到0之间的整数。

#include<iostream>
using namespace std;

int main()
{
	int a = 10;
	while (a>-1)
	{
		cout << a << endl;
		a--;
	}
	return 0;
}

练习1.11 编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。

#include<iostream>
using namespace std;

int main()
{
	cout << "Please enter two whole numbers " << endl;
	int num1, num2;
	cin >> num1 >> num2;
	if (num1>num2)
	{
		while (num2 <= num1)
		{
			cout << num2 << " ";
			num2++;
		}
		cout << endl;
	}
	else 
	{
		while (num2 >= num1)
		{
			cout << num1 << " ";
			num1++;
		}
		cout << endl;
	}
	return 0;
}

练习1.12-1.15 略

练习1.16 编写程序,从cin读取一组数,输出其和。

#include<iostream>
using namespace std;

int main()
{
	cout << "please enter a set of numbers , press Ctrl+z to end" << endl;
	int sum = 0, start = 0;
	//while (cin>>start)
	//{
	//	sum += start;
	//}
	for (; cin>>start;)
	{
		sum += start;
	}
	cout << "the sum of all numbers is " << sum << endl;
	return 0;
}

练习1.17-1.19略

练习1.20 在网站http://www.informit.com/title/0321714113上,第一章的代码目录包含了头文件Sales_item.h。将它拷贝到自己的工作目录中。用它编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上。

#include <iostream>
#include "Sales_item.h"
using namespace std;

int main()
{
	Sales_item book;
	cout << "please enter sales records " << endl;
	while (cin >> book)
	{
		cout << "IBSN、The number of units sold、 sales and average selling price are " << book << endl;
	}
	return 0;
}

练习1.21 编写程序,读取两个IBSN相同的sales_item对象,输出它们的和。

#include <iostream>
#include "Sales_item.h"
using namespace std;

int main()
{
	Sales_item trans1, trans2;
	cout << "please enter two idetical sales records " << endl;
	cin >> trans1, trans2;
	if (compareIsbn(trans1,trans2))
	{
		cout << "summary information : IBSN、The number of units sold、 sales and average selling price are " << trans1+trans2<< endl;
	}
	else
	{
		cout << "two sales records are different" << endl;
	}
	return 0;
}

练习1.22 编写程序,读取多个具有相同ISBN的销售记录,输出所有记录的和。

#include <iostream>
#include "Sales_item.h"
using namespace std;

int main()
{
	Sales_item trans, total;
	cout << "please enter several idetical sales records " << endl;
	if (cin >> total)
	{
		while (cin >> trans)
		{
			if (compareIsbn(total, trans))
			{
				total = total + trans;
			}
			else
			{
				cout << "sales records are different" << endl;
				return -1;
			}
			cout << "summary information : IBSN、The number of units sold、 sales and average selling price are " << total << endl;
		}
	}
	else
	{
		cout << "no date " << endl;
		return -1;
	}
	return 0;
}

练习1.23 编写程序,读取多条销售记录,并统计每个ISBN(每本书)有几条销售记录。

#include <iostream>
#include"Sales_item.h"
using namespace std;

int main()
{
	Sales_item trans1, trans2;
	int num = 1;
	cout << "please enter some sales records " << endl;
	if (cin>>trans1)
	{
		while (cin>>trans2)
		{
			if (compareIsbn(trans1,trans2))
			{
				num++;
			}
			else
			{
				cout << trans1.isbn() << " have " << num << " sales records" << endl;
				trans1 = trans2;
				num = 1;
			}
			cout << trans1.isbn() << " have " << num << " sales records" << endl;
		}
	}
	else
	{
		cout << "no data " << endl;
		return -1;
	}
	return 0;
}

练习1.24-1.25 略

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值