4.21:编写一段程序,使用条件运算符从vector<int>中找到哪些元素的值是奇数,然后将这些奇数值翻倍。
#include <iostream>
#include <vector>
void main()
{
std::vector<int> ivec = { 0, 1, 2, 3, 4, 5 };
for (auto &c : ivec){
std::cout << ((c % 2 == 1) ? 2 * c : c) << " ";
}
system("pause");
}
4.22:本节的示例程序将成绩划分成high pass、pass和fail三种,扩展该程序使其进一步将60分到75分之间的成绩设定为low pass。要求程序包含两个版本:一个版本只使用条件运算符;另外一个版本使用1个或多个if语句。
版本一:只使用条件运算符
#include <iostream>
void main()
{
int grade;
while (std::cin >> grade){
std::cout << ((grade > 90) ? "high pass" : ((grade > 75) ? "pass" : ((grade > 60) ? "low pass" : "fail"))) << std::endl;
}
system("pause");
}
版本二:使用if语句
#include <iostream>
void main()
{
int grade;
while (std::cin >> grade){
if (grade > 90)
std::cout << "high pass" << std::endl;
else if (grade > 75)
std::cout << "pass" << std::endl;
else if (grade > 60)
std::cout << "low pass" << std::endl;
else
std::cout << "fail" << std::endl;
}
system("pause");
}
4.28:编写一段程序,输出每一种内置类型所占空间的大小。
#include <iostream>
void main()
{
std::cout << sizeof(int) << std::endl;
std::cout << sizeof(short) << std::endl;
std::cout << sizeof(float) << std::endl;
std::cout << sizeof(double) << std::endl;
std::cout << sizeof(long) << std::endl;
std::cout << sizeof(long double) << std::endl;
std::cout << sizeof(long long) << std::endl;
system("pause");
}