往期传送门:
《C++ Primer Plus 第六版 中文版》的研读与学习(十)
《C++ Primer Plus 第六版 中文版》的研读与学习(九)
《C++ Primer Plus 第六版 中文版》的研读与学习(八)
《C++ Primer Plus 第六版 中文版》的研读与学习(七)
《C++ Primer Plus 第六版 中文版》的研读与学习(六)
《C++ Primer Plus 第六版 中文版》的研读与学习(五)
《C++ Primer Plus 第六版 中文版》的研读与学习(四)
《C++ Primer Plus 第六版 中文版》的研读与学习(三)
《C++ Primer Plus 第六版 中文版》的研读与学习(二)
《C++ Primer Plus 第六版 中文版》的研读与学习(一)
在之前的内容中,我们学习了《C++ Primer Plus 第六版 中文版》前两章的内容,今天,我们精选一些习题作为练习。
题1.
编写一个C++程序,要求用户输入一个以long为单位的距离,然后将它转化为码(1long=220码)
笔者的答案如下:
#include <iostream>
using namespace std;
int main()
{
cout << "请输入距离(以long为单位):";
float distance_long;
float distance_yard;
cin >> distance_long;
distance_yard = 220.0 * distance_long;
cout << "该距离为 " << distance_yard << " 码" << endl;
return 0;
}
输出结果:
请输入距离(以long为单位):40
该距离为 8800 码
本题考点:
- C++名称空间的调用
- C++的输入与输出
- C++定义浮点型变量并运算
当然,本题也可以使用有返回值的函数完成:
#include <iostream>
using namespace std;
float conversion(float distance_long);
int main()
{
cout << "请输入距离(以long为单位):";
float distance_long;
cin >> distance_long;
float distance_yard = conversion(distance_long);
cout << "该距离为 " << distance_yard << " 码" << endl;
return 0;
}
float conversion(float distance_long)
{
float distance_yard;
distance_yard = 220.0 * distance_long;
return distance_yard;
}
输出结果同上。
本题考点:
- C++自定义函数原型与调用
- C++自定义有参数有返回值的函数
题2.
编写一个程序,要求用户输入小时数和分钟数,在主函数中将这两个值传递给一个void函数,并根据时、分输出当前时刻。
笔者的答案如下:
#include <iostream>
using namespace std;
void print_time(int hour, int minute);
int main()
{
int hour, minute;
cout << "请输入小时数:";
cin >> hour;
cout << "请输入分钟数:";
cin >> minute;
print_time(hour,minute);
return 0;
}
void print_time(int hour, int minute)
{
cout << "当前时刻:" << hour << ":" << minute << endl;
}
输出结果:
请输入小时数:8
请输入分钟数:40
当前时刻:8:40
本题考点:
- C++自定义函数原型与调用
- C++自定义有参数无返回值的函数
当然,为了保证程序运行的可靠性,print_time()
函数建议这样写:
void print_time(int hour, int minute)
{
if(hour >= 24 || hour < 0)
printf("小时数超出范围了!!!\n");
if(minute >= 60 || minute < 0)
printf("分钟数超出范围了!!!\n");
cout << "当前时刻:" << hour << ":" << minute << endl;
}
这涉及到C++的选择结构,我们以后再讲。
值得注意的是,不同于C语言,两个相邻的输出之间需要一行
getchar();
或
char c;
scanf("%c", &c);
用于读取回车,可以直接使用输入函数cin
本期的精选习题解析就到此结束,如果两道题都轻松完成,就说明C++的基础知识掌握的还不错哦!