1.3
//1.3
#include <iostream>
//如果加上这一行就不需要 std::cout 直接cout就可以了总是忘记 加std 这里出于和书籍
上代码配套 所以还是 std::cout std::endl 这样吧 _(:з」∠)_
using namespace std;
int main(){
std::cout << "hello world" << std::endl;
return 0;
}
1.4
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
std::cout<<"请输入2个数字"<<endl;
int a=0;
int b=0;
std::cin>>a;
std::cin>>b;
//printf("%d\n",a);
//cout << a<<endl;
std::cout<<"one number is " <<a<<std::endl;
std::cout <<"two number is " <<b<<std::endl;
std::cout<<"one * two = " << a*b<<endl;
//好想用 printf啊啊啊啊啊啊 得引用stdio.h头文件
return 0;
}
1.5 没啥意义 跳过了
我1.4和1.5 基本上一样
1.6 如果加了分号 需要 重新std::cout
std::cout << "The sum of " << v1
<< " and " << v2
<< " is " << v1 + v2 << std::endl;
其实就是把第一行和第二行的分号给他去掉 就没别的了
继续跳过毫无意义
1.9
#include <iostream>
using namespace std;
int main(){
int num=50,sum=0;
while(num<=100){
sum+=num;
num++;
}
cout <<"50+51+...100="<<sum<<endl;
return 0;
}
1.10
#include <iostream>
using namespace std;
int main(){
int num=10;
while(num>=0){
cout<<num<<endl;
num--;
}
return 0;
}
~
#include <iostream>
using namespace std;
int main(){
cout<<"请输入2个数在2个数"<<endl;
int a=0,b=0,temp=0;
cin>>a;
cin>>b;
if(a<b){
temp=a;
a=b;
b=temp;
}
cout <<"输入的范围之内的递减值"<<endl;
while(a>=b){
cout<<a<<endl;
a--;
}
return 0;
}
1.12那个就是从-100+到100 最后输出结果等于0 - -
1.13没心情重新刷 跳过
1.16
#include <iostream>
using namespace std;
int main(){
int num=0,sum=0;
cout <<"请输入一组数字然后求和"<<endl;
while(cin>>num){
sum = num+sum;
}
cout<<"求和结果为="<<sum<<endl;
return 0;
}
1.17-1.18自己的代码如下 没按参考书
#include <iostream>
using namespace std;
int main(){
cout<<"统计输入一组连续数字的出现的个数"<<endl;
int num=0,count=0,last=0,current=0,now_count=0;
while(cin>>num){
//判断是否是第一次 用了多个变量 防止一上来是0和初始值冲突
now_count++;
//赋值给当前值
current = num;
//是否第一次
if(now_count==1){
//保存当前值 存在下一次循环 当上一个值判断
last=current;
//计数器+1
count++;
//不是第一次
}else{
//如果和上一个之前相等 计数器+1
if(last==current){
count++;
//不相等 输出 计数器初始化
}else{
cout<<last<<"出现次数为"<<count<<endl;
count = 1;
}
//赋值给上下一次循环的前一个 说白了就是存储当前值 下一次循环当上一个值用
last=current;
}
}
//最后不满足条件是 输出最后一个数字
cout<<last<<"出现次数为"<<count<<endl;
return 0;
}
1.19那个 可以直接用1.10的代码 已经做好处理 重新贴一下 多一个临时变量 把值大的赋值给a 值小的赋值给b
#include <iostream>
using namespace std;
int main(){
cout<<"请输入2个数在2个数"<<endl;
int a=0,b=0,temp=0;
cin>>a;
cin>>b;
if(a<b){
temp=a;
a=b;
b=temp;
}
cout <<"输入的范围之内的递减值"<<endl;
while(a>=b){
cout<<a<<endl;
a--;
}
return 0;
}
120 Salse_item.h
#ifndef SALESITEM_H
// we're here only if SALESITEM_H has not yet been defined
#define SALESITEM_H
// Definition of Sales_item class and related functions goes here
#include <iostream>
#include <string>
class Sales_item {
// these declarations are explained section 7.2.1, p. 270
// and in chapter 14, pages 557, 558, 561
friend std::istream& operator>>(std::istream&, Sales_item&);
friend std::ostream& operator<<(std::ostream&, const Sales_item&);
friend bool operator<(const Sales_item&, const Sales_item&);
friend bool
operator==(const Sales_item&, const Sales_item&);
public:
// constructors are explained in section 7.1.4, pages 262 - 265
// default constructor needed to initialize members of built-in type
#if defined(IN_CLASS_INITS) && defined(DEFAULT_FCNS)
Sales_item() = default;
#else
Sales_item() : units_sold(0), revenue(0.0) { }
#endif
Sales_item(const std::string &book) :
bookNo(book), units_sold(0), revenue(0.0) { }
Sales_item(std::istream &is) { is >> *this; }
public:
// operations on Sales_item objects
// member binary operator: left-hand operand bound to implicit this pointer
Sales_item& operator+=(const Sales_item&);
// operations on Sales_item objects
std::string isbn() const { return bookNo; }
double avg_price() const;
// private members as before
private:
std::string bookNo; // implicitly initialized to the empty string
#ifdef IN_CLASS_INITS
unsigned units_sold = 0; // explicitly initialized
double revenue = 0.0;
#else
unsigned units_sold;
double revenue;
#endif
};
// used in chapter 10
inline
bool compareIsbn(const Sales_item &lhs, const Sales_item &rhs)
{
return lhs.isbn() == rhs.isbn();
}
// nonmember binary operator: must declare a parameter for each operand
Sales_item operator+(const Sales_item&, const Sales_item&);
inline bool
operator==(const Sales_item &lhs, const Sales_item &rhs)
{
// must be made a friend of Sales_item
return lhs.units_sold == rhs.units_sold &&
lhs.revenue == rhs.revenue &&
lhs.isbn() == rhs.isbn();
}
inline bool
operator!=(const Sales_item &lhs, const Sales_item &rhs)
{
return !(lhs == rhs); // != defined in terms of operator==
}
// assumes that both objects refer to the same ISBN
Sales_item& Sales_item::operator+=(const Sales_item& rhs)
{
units_sold += rhs.units_sold;
revenue += rhs.revenue;
return *this;
}
// assumes that both objects refer to the same ISBN
Sales_item
operator+(const Sales_item& lhs, const Sales_item& rhs)
{
Sales_item ret(lhs); // copy (|lhs|) into a local object that we'll return
ret += rhs; // add in the contents of (|rhs|)
return ret; // return (|ret|) by value
}
std::istream&
operator>>(std::istream& in, Sales_item& s)
{
double price;
in >> s.bookNo >> s.units_sold >> price;
// check that the inputs succeeded
if (in)
s.revenue = s.units_sold * price;
else
s = Sales_item(); // input failed: reset object to default state
return in;
}
std::ostream&
operator<<(std::ostream& out, const Sales_item& s)
{
out << s.isbn() << " " << s.units_sold << " "
<< s.revenue << " " << s.avg_price();
return out;
}
double Sales_item::avg_price() const
{
if (units_sold)
return revenue / units_sold;
else
return 0;
}
#endif
上面那段头文件 我这里叫做120.h 为了配合1.20的这个练习题
#include <iostream>
#include "120.h"
using namespace std;
int main(){
Sales_item item;
cin>>item;
cout<<item<<endl;
return 0;
}
~
~
1.21
#include <iostream>
#include "120.h"
using namespace std;
int main(){
Sales_item item1,item2;
cin>>item1;
cin>>item2;
if(item1.isbn() == item2.isbn()){
//if(item1.isbn()==item2.isbn()){
cout<<"item1+item2="<<item1+item2<<endl;
}
return 0;
}
~
~
1.22
#include <iostream>
#include "120.h"
using namespace std;
int main(){
Sales_item item1,item2,item3;
//模仿之前参考书的
if(cin>>item1){
while(cin>>item2){
if(item1.isbn() != item2.isbn()){
cout<<"item1+item2="<<item1<<endl;
item1=item2;
}else{
item1+=item2;
}
}
}
cout<<"item1+item2="<<item1<<endl;
return 0;
}
1.23
#include <iostream>
#include "120.h"
using namespace std;
int main(){
Sales_item item1,item2,item3;
int num=1;
//模仿之前参考书的
if(cin>>item1){
while(cin>>item2){
if(item1.isbn() != item2.isbn()){
cout<<item1.isbn()<<"num="<<num<<endl;
item1=item2;
num=1;
}else{
item1+=item2;
num++;
}
}
}
cout<<item1.isbn()<<"num="<<num<<endl;
return 0;
}
1.25 不想做了 没啥意思 按照实例敲一遍的话
第一章全部结束