4.21
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec = { 1,2,3,4,5,6,7,8,9 };
for (auto iter = ivec.begin(); iter != ivec.end(); ++iter)
{
*iter = (*iter) % 2 ? *iter * 2 : *iter;
}
return 0;
}
4.22
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using namespace std;
int main()
{
cout << "Enter a number:";
int grade;
while(cin >> grade)
{
string finalgrade;
finalgrade = (grade>100||grade<0)?"wrong number":(grade > 90) ? "high pass" : (grade > 75) ? "pass" : (grade >= 60) ? "low pass" : "fail";
cout << grade << ":" << finalgrade << endl;
};
return 0;
}
if 版本
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using namespace std;
int main()
{
cout << "Enter a number:";
int grade;
while(cin >> grade)
{
string finalgrade;
if (grade > 100 || grade < 0)
cout << grade << grade<<": wrong number"<<endl;
else if (grade > 90)
cout << grade << ": high pass"<<endl;
else if (grade > 75)
cout << grade << ": pass"<<endl;
else if (grade >= 60)
cout <<grade<< ": low pass"<<endl;
else cout << grade << ": fail"<<endl;
};
return 0;
}
if版本虽然较为清晰,但是相对繁琐,条件格式虽然简洁,但是可读性少差