C++Primer 中文版 第五版 第三章课后习题答案
来源:互联网 发布:怎么注册手机淘宝账号 编辑:程序博客网 时间:2024/04/30 08:11
前言:自己做的,如果有错误,要提出来哟...
//3.1
略
//3.2
/*
#include<iostream>
using namespace std;
int main()
{
string line;
getline(cin,line);
cout<<line<<endl;
}
#include<iostream>
using namespace std;
int main()
{
string line;
while(cin>>line)
cout<<line<<endl;
}
*/
//3.3
/*
输入运算符:不放入
getline:把那个放入
*/
//3.4
/*
#include<iostream>
using namespace std;
int main()
{
string line1;
string line2;
cin>>line1>>line2;
if(line1>line2)
cout<<line1;
else
cout<<line2;
}
#include<iostream>
using namespace std;
int main()
{
string line1;
string line2;
cin>>line1>>line2;
if(line1!=line2)
{
if(line1>line2)
cout<<line1;
else
cout<<line2;
}
}
*/
//3.5
/*
#include<iostream>
#include<string>
using namespace std;
int main()
{
string line1;
string line2;
while(cin>>line1)
{
line2+=line1;
}
cout<<line2<<endl;
}
*/
//3.6
/*
#include<iostream>
using namespace std;
int main()
{
string line;
cin>>line;
for(auto &c:line)
{
c='X';
}
cout<<line<<endl;
}
*/
//3.7
/*
不是c++11...不能调试,大家自己试试就可以了
*/
//3.8
/*
个人认为是while,因为我们不清楚需要循环几次
*/
//3.9
/*
合法,输出\0
#include<iostream>
using namespace std;
int main()
{
string s;
cout<<s[0]<<endl;
}
*/
//3.10
/*
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
string line;
cin>>line;
for(auto c:line)
{
if(ispunct(c)!=0)
cout<<c;
}
}
*/
//3.11
合法,const char
//3.12
全对
//3.13
a:1
b:10
c:10
d:1
e:10
f:1
g:10
//3.14
/*
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int t;
vector<int>a;
while(cin>>t)
{
a.push_back(t);
}
}*/
//3.15
#include<iostream>
#include<vector>
using namespace std;
int main()
{
string t;
vector<string>a;
while(cin>>t)
{
a.push_back(t);
}
}
//3.16
/*
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int t;
vector<int>a;
while(cin>>t)
{
a.push_back(t);
}
cout<<a.size()<<endl;
for(int i=0;i<a.size();i++)
cout<<a[i]<<" ";
}
#include<iostream>
#include<vector>
using namespace std;
int main()
{
string t;
vector<string>a;
while(cin>>t)
{
a.push_back(t);
}
vector<string>::iterator it1=a.begin();
vector<string>::iterator it2=a.end();
while(it1!=it2)
{
cout<<*it1<<endl;
it1++;
}
}
*/
//3.17
/*
#include<iostream>
#include<vector>
#include<cstring>
#include<cctype>
using namespace std;
int main()
{
string t;
int i;
vector<string>a;
while(cin>>t)
{
for(i=0;i<t.size();i++)
t[i]=toupper(t[i]);
a.push_back(t);
}
vector<string>::iterator it1=a.begin();
vector<string>::iterator it2=a.end();
while(it1!=it2)
{
cout<<*it1<<endl;
it1++;
}
}
*/
//3.18
/*
不对。动态数组,这个时候还没有ivec【0】这个区域
*/
//3.20
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>iter;
int i=10;
while(i--)
iter.push_back(i);
for(i=0;i<5;i++)
cout<<iter[i]+iter[9-i]<<endl;
}
//3.21
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>ivec;
int i;
while(cin>>i)
{
ivec.push_back(i);
}
for(auto it=ivec.begin();it!=ivec.end();++it)
{
cout<<*it<<endl;
}
}
//3.22
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<string>ivec;
string word;
while(cin>>word)
{
ivec.push_back(word);
}
auto it=ivec.begin();
for(auto itr=(*it).begin();itr!=(*it).end();itr++)
*itr=toupper(*itr);
for(auto it=ivec.begin();it!=ivec.end();++it)
cout<<*it<<endl;
}
//3.23
#include <iostream>
#include<vector>
using namespace std;
int main()
{
int i;
vector<int>ivec;
for(i=0;i<10;i++)
ivec.push_back(i);
vector<int>::iterator it=ivec.begin();
for(;it!=ivec.end();++it)
*it=2*(*it);
it=ivec.begin();
for(;it!=ivec.end();++it)
cout<<*it<<endl;
}
//3.24
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>iter;
int i=10;
while(i--)
iter.push_back(i);
vector<int>::iterator it=iter.begin();
for(;it<iter.end()-1;it=it+2)
{
cout<<(*it)+(*it+1)<<endl;
}
if(iter.size()%2!=0)
cout<<"最后一个没有"<<endl;
}
//3.25
略
//3.26
指针和迭代器不支持加法运算,只支持减法!
//3.27
a:非法:非常量
b:对
c:非常量
d:大于11了
//3.28
String的为0
Int的为随机数
//3.29
大小固定,不能随意的加元素
//3.30
For的=号不应该存在!!从0开始的
//3.31
略
//3.32
略
//3.33
那样我们无法预知score的值
//3.34
让p1=p2.
可以说p2-p1求出了差值。再让p1加上那个差值
//3.35
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a[10];
int *p=a;
int i;
for(int i=0;i<10;i++)
*(p+i)=0;
for(i=0;i<10;i++)
cout<<*p<<endl;
}
//3.36
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a[10];
int b[10];
int t;
int i;
for(i=0;i<10;i++)
{
cin>>t;
a[i]=t;
}
for(i=0;i<10;i++)
{
cin>>t;
b[i]=t;
}
int flag=1;
for(i=0;i<10;i++)
if(a[i]!=b[i])
{
flag=0;
break;
}
if(flag)
cout<<"ok"<<endl;
else
cout<<"不"<<endl;
}
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>a;
vector<int>b;
int t;
int i;
for(i=0;i<10;i++)
{
cin>>t;
a.push_back(t);
}
for(i=0;i<10;i++)
{
cin>>t;
b.push_back(t);
}
int flag=1;
for(i=0;i<10;i++)
if(a[i]!=b[i])
{
flag=0;
break;
}
if(flag)
cout<<"ok"<<endl;
else
cout<<"不"<<endl;
}
//3.37
输出每一个,每输出一个就来一个换行
//3.38
比如,a为地球到太阳的距离,b为火星到太阳的距离,b-a我们可以得到地球与火星的距离,但a+b没有任何作用
//3.39
略
//3.40
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
char a[100];
char b[100];
cin>>a>>b;
char c[200];
strcpy(c,a);
strcat(c,b);
cout<<c<<endl;
}
//3.41
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
int a[5]={1,2,3,4};
vector<int>ivec(begin(a),end(a));
for(auto :ivec)
cout<<i<<endl;
}
//3.42
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
vector<int>ivec;
int i;
while(cin>>i)
{
ivec.push_back(i);
}
int *a=new int[ivec.size()];
for(auto it=ivec.begin();it!=ivec.end();++it)
{
*a++=*it;
}
for(auto i:ivec)
cout<<i<<endl;
}
//3.43
略。。会一种就行啦
//3.44
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
typedef int b[4];
for(b *p=a;p!=(a+3);++p)
{
for(int *q=*p;q!=*p+4;++q)
cout<<*q<<" ";
cout<<endl;
}
}
//3.45
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
int main()
{
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
for(auto*p=a;p!=(a+3);++p)
{
for(auto*q=*p;q!=*p+4;++q)
cout<<*q<<" ";
cout<<endl;
}
}
- C++Primer 中文版 第五版 第三章课后习题答案
- C++Primer 中文版 第五版 第五章课后习题答案
- C++Primer 中文版 第五版 第二章课后习题答案
- C++Primer 中文版 第五版 第四章课后习题答案
- C++Primer 中文版 第五版 第六章课后习题答案
- C++Primer 中文版 第五版 第七章课后习题答案
- C++Primer 中文版 第五版 第九章课后习题答案
- C++Primer 中文版 第五版 第十章课后习题答案
- c++primer第五版课后练习答案(第三章)
- c++primer 第五版课后习题 第五章
- c++primer第五版课后练习答案(第五章)
- C++Primer第三章(第五版) 课后习题 程序题 源代码
- C++Primer第五版课后答案地址
- C Primer Plus(第五版) 第十四章 课后习题 4
- C Primer Plus(第五版) 第十四章 课后习题 6
- C++Primer第五版 第三章习题答案(1~10)
- C++Primer第五版 第三章习题答案(11~20)
- C++Primer第五版 第三章习题答案(21~30)
- class diagram for java
- UML类图几种关系的总结
- ssh 无密码登录
- Sublime text 3 如何格式化HTML/css/js代码
- Codeforces Beta Round #7
- C++Primer 中文版 第五版 第三章课后习题答案
- 具有类体的enum poj3979
- 左式堆decreaseKey
- 使用Netbeans开发调试OpenJDK中的HotSpot
- iOS下dyld: Library not loaded: 错误解决方法
- join命令
- nodejs+npm+bower安装使用
- iOS开发之swift与OC混编出现的坑,oc中不能对swift的代理进行调用,不能访问swift中的代理,swift中的回调方法
- cordova热更新插件 的安装与使用 以及代码示例下载(已完结)