《C++ Primer》部分练习代码--第三章

练习3.2

int main(){
	string s;
	getline(cin,s);	//一次读入一整行
	cout<<s<<endl; 
	cin>> s;	//一次读入一个词 
	cout<<s<<endl; 
	return 0;
} 

练习3.4

int main(){
	string s,t;
	cout<<"请输入第一个字符串s:"<<endl;
	getline(cin,s);
	cout<<"请输入第二个字符串t:"<<endl;
	getline(cin,t);
	if(s==t) {
		cout<<"两字符串相等,为"<<s<<endl; 
	}
	else{
		if(s>t){
			cout<<"两字符串不相等,较大的字符串为"<<s<<endl; 
		}
		else{
			cout<< "两字符串不相等,较大的字符串为"<<t<<endl; 
		} 
	}
	return 0;
} 
int main(){
	string s,t;
	cout<<"请输入第一个字符串s:"<<endl;
	getline(cin,s);
	cout<<"请输入第二个字符串t:"<<endl;
	getline(cin,t);
	if(s.size()==t.size()) {
		cout<<"两字符串长度相等,为"<<s<<endl; 
	}
	else{
		if(s.size()>t.size()){
			cout<<"两字符串长度不相等,较长的字符串为"<<s<<endl; 
		}
		else{
			cout<< "两字符串长度不相等,较长的字符串为"<<t<<endl; 
		} 
	}
	return 0;
} 

练习3.5

int main(){
	string s,str;
	while(getline(cin,s)){
		str=str+s;
	}
	cout<<str<<endl;
	return 0;
} 
int main(){
	string s,str;
	while(getline(cin,s)){
		str=str+s+" ";
	}
	cout<<str<<endl;
	return 0;
} 

练习3.6

int main(){
	string s("Hello World!!");
	for(auto &c:s){
		c='X';
	}
	cout<<s<<endl;
	return 0;
} 

练习3.7

与3.6结果相同

练习3.8

int main(){
	string s("Hello World!!");
	for(int i=0;i<s.size();i++){
		s[i]='X';
	}
	cout<<s<<endl;
	return 0;
} 
int main(){
	string s("Hello World!!");
	int i=0;
	while(i<s.size()){
		s[i]='X';
		i++;
	}
	cout<<s<<endl;
	return 0;
} 

练习3.10

int main(){
	string s("Hello World!!");
	string t;
	for(decltype(s.size()) c:s){
		if(!ispunct(c))
			t+=c;
	}
	cout<<t<<endl;
	return 0;
} 

练习3.14

int main(){
	int i;
	vector<int> num;
	while(cin>>i){
		num.push_back(i); 
	} 
	return 0;
} 

练习3.15

int main(){
	string s;
	vector<string> str;
	while(cin>>s){
		str.push_back(s); 
	} 
	return 0;
}

练习3.16

int main(){
	vector<int> v1;
	cout<<v1.size()<<endl;
	for(int c:v1){
		cout<<c<<endl;
	}
	return 0;
} 

练习3.17

int main(){
	string s;
	vector<string> v1;
	while(cin>>s){
		v1.push_back(s); 
	}
	for(string &c:v1){
		for(decltype(c.size()) i=0;i!=c.size()&&!isspace(c[i]);i++){
			c[i]=toupper(c[i]);
		}
		cout<<c<<endl;
	}
	return 0;
} 

练习3.18

vector<int> ivec;
ivec.push_back(42); 

练习3.20

int main(){
	vector<int> ivec;
	int v;
	while(cin>>v){
		ivec.push_back(v); 
	}
	for(decltype(ivec.size()) i=0;i<ivec.size();i+=2){
		cout<<ivec[i]+ivec[i+1]<<endl;
	}
	return 0;
} 
int main(){
	vector<int> ivec;
	int v;
	while(cin>>v){
		ivec.push_back(v); 
	}
	for(decltype(ivec.size()) i=0;i!=ivec.size()/2;i++){
		cout<<ivec[i]+ivec[ivec.size()-1-i] <<endl;
	}
	return 0;
} 

练习3.21

int main(){
	vector<int> v1;
	int v; 
	while(cin>>v){
		v1.push_back(v); 
	}
	for(auto it=v1.cbegin();it!=v1.cend();++it){
		cout<<*it<<endl; 
	} 
	return 0;
} 

练习3.22

int main(){
	vector<string> text;
	string str;
	while(getline(cin,str)) {
		text.push_back(str);
	}
	for(auto it=text.begin();it!=text.end()&&!it->empty();++it){
		for(auto c=it->begin();c!=it->end();++c){
			*c=toupper(*c);
		}
		cout<<*it<<endl; 
	} 
	return 0;
} 

练习3.23

int main(){
	vector<int> text{1,2,3,4,5,6,7,8,9,10};
	for(auto it=text.begin();it!=text.end();++it){
		*it*=2;
		cout<<*it<<endl; 
	} 
	return 0;
} 

练习3.31

int main(){
	int arr[10];
	for(int i=0;i<10;i++){
		arr[i]=i;
	}
	return 0;
} 

练习3.32

int arr1[10];
	for(int i=0;i<10;i++){
		arr1[i]=arr[i];
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值