【C++ Primer第五版】——第四章 编程题

4.21:编写一段程序,使用条件运算符从vector中找到哪些元素的值是奇数,然后将这些奇数值翻倍。

#include 
#include 

void main()
{
	std::vector 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 

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 

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 

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");
}

 

你可能感兴趣的:(C++)