“寻找奇数”的思考

来源:互联网 发布:mac的delete键在哪里 编辑:程序博客网 时间:2024/06/01 08:57

题:

使用条件运算符从vector<int>中寻找哪些元素的值是奇数,然后将这些奇数的值翻倍。

#include  <iostream>using std::cout;using std::cin; using std::endl;#include <string>using std::string;#include <cstring>#include <vector>using std::vector;#include <iterator>using std::begin; using std::end;#include <cstddef>using std::size_t; int main(){int ia;vector<int> ivec;while(cin >> ia)ivec.push_back(ia);for(decltype(ivec.size()) index = 0; index != ivec.size(); ++index){if(ivec[index]%2){ivec[index] = ivec[index] * 2;}cout << ivec[index] << ' ';}cout << endl;return 0;}
我们试着用auto语句

#include  <iostream>using std::cout;using std::cin; using std::endl;#include <string>using std::string;#include <cstring>#include <vector>using std::vector;#include <iterator>using std::begin; using std::end;#include <cstddef>using std::size_t; int main(){int ia;vector<int> ivec;while(cin >> ia)ivec.push_back(ia);for(auto &c : ivec){if(c%2){c= c * 2;}cout << c << ' ';}cout << endl;return 0;}
我们试着用条件运算符去试试

#include  <iostream>using std::cout;using std::cin; using std::endl;#include <string>using std::string;#include <cstring>#include <vector>using std::vector;#include <iterator>using std::begin; using std::end;#include <cstddef>using std::size_t; int main(){int ia;vector<int> ivec;while(cin >> ia)ivec.push_back(ia);for(auto &c : ivec){c = (c % 2) ? c*2 : c;cout << c << ' ';}cout <<endl;return 0;}
有没有很神奇,哈哈!

参考:《c++ primer》第五版,学到第四章了!


0 0
原创粉丝点击