1. 编写一个C++程序,它显示您的姓名和地址。
很简单的题目,只需要声明并打印输出“姓名”和“地址”这两个char变量就可以了。甚至你都可以不通过变量声明,直接在cout语句里写出“姓名”和“地址”信息即可。
代码如下:
// 2.1.cpp: 定义控制台应用程序的入口点。
// 显示姓名和地址
#include "stdafx.h"
#include <iostream>
int main()
{
using namespace std;
cout << "Name: Leonardo Liu " << endl;
cout << "Address: UESTC, Chengdu, China " << endl;
system("pause");
return 0;
}
在这里,我没有使用本书中提倡的cin.get();语句来停留终端对话窗口,而是使用了system("pause");语句来实现这个功能,其实效果类似,但个人总觉得cin.get();语句写进去让人读起来觉得程序有点奇怪,毕竟cin.get();语句本身的目的是写入,不是停留。
代码运行结果如下:
2. 编写一个C++程序,它要求用户输入一个以long为单位的距离,然后将它转换为码(一long等于220码)。
本题是一个输入数据,然后进行单位转换的题目;我们可以使用cin来输入一个数,暂且认为就是int类型的整数,然后根据题目中的给出的计算方式进行计算后赋给另一个变量,在打印输出就可以了。
代码如下:
// 2.2.cpp: 定义控制台应用程序的入口点。
// 单位转换
#include "stdafx.h"
#include <iostream>
int main()
{
using namespace std;
cout << "Enter the distance of long: ";
int dis1;
cin >> dis1;
int dis2;
dis2 = 220 * dis1;
cout << dis1 << " long = " << dis2 << " yard" << endl;
system("pause");
return 0;
}
代码运行结果如下:
3. 编写一个C++程序,它使用3个用户定义的函数(包括main()),并生成下面的输出:
Three blind mice
Three blind mice
See how they run
See how they run
其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出。
本题需要定义两个函数,然后通过函数调用来打印输出一些文字,所以这两个函数分别打印1-2行和3-4行的输出即可;这里我们就可以在main函数外面来使用 using namespace std;语句,因为需要调用的两个函数都需要用到std里的cout输出语句。另外,调用的两个函数都不需要有返回值,所以我们定义两个void类型的函数就可以了。
代码如下:
// 2.3.cpp: 定义控制台应用程序的入口点。
// 函数调用
#include "stdafx.h"
#include <iostream>
void fun1();
void fun2();
using namespace std;
int main()
{
fun1();
fun1();
fun2();
fun2();
system("pause");
return 0;
}
void fun1()
{
cout << "Three blind mice" << endl;
}
void fun2()
{
cout << "See how they run" << endl;
}
代码运行结果如下:
4. 编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月,如下所示:
Enter your age: 29
本题的主要目的是将输入的数值代入公式进行计算,并将计算后的结果输出。我们只需要声明两个int类型的变量,一个用来接受用户输入,一个用来接受计算结果就可以了。
代码如下:
// 2.4.cpp: 定义控制台应用程序的入口点。
// 函数调用
#include "stdafx.h"
#include <iostream>
int convert(int);
int main()
{
using namespace std;
cout << "Enter your age: ";
int age;
cin >> age;
int month;
month = convert(age);
cout << "It means " << month << " months" << endl;
system("pause");
return 0;
}
int convert(int age)
{
using namespace std;
return 12 * age;
}
在这里我使用了函数调用,并进行了参数的返回,其实完成题中的要求不需要使用这种复杂的操作,直接在main函数里面进行计算就可以了。(纯粹只为练练手^~^)在这里要注意返回值类型及个数和接受参数的类型及个数。
代码运行结果如下:
5. 编写一个程序,其中的main()调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
Please enter a Celsius value: 20
20 degrees Celsius is 68 degrees Fahrenheit.
下面是转换公式:
华氏温度 = 1.8 * 摄氏温度 + 32.0
本题依旧是进行单位转换的主题,但要求使用函数调用的方法来操作,正好上一题已经使用过了,按一样的方法来写就可以了。
代码如下:
// 2.5.cpp: 定义控制台应用程序的入口点。
// 函数调用
#include "stdafx.h"
#include <iostream>
double convert(double);
int main()
{
using namespace std;
cout << "Please enter a Celsius value: ";
double degree;
cin >> degree;
double convertdegree;
convertdegree = convert(degree);
cout << degree << " degrees Celsius is " << convertdegree << " degrees Fahrenheit." << endl;
system("pause");
return 0;
}
double convert(double degree)
{
using namespace std;
double convertdegree;
convertdegree = 1.8 * degree + 32;
return convertdegree;
}
本题的代码有两个地方需要注意,首先是变量声明的时候,虽然题中要求的输入是20,输出是68,但是由于计算公式里包含1.8和32.0这样的浮点数,因此我们不可以将变量声明为int类型,因为很有可能虽然输入是int类型的整数,但是经过计算公式之后输出的结果是浮点数,如果使用int类型来声明,就有可能得不到正确的结果了。其次我们可以看到,被调用函数的返回值可以直接赋给一个声明过的变量,只要类型符合就可以。
代码运行结果如下:
6. 编写一个程序,其main()调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。该程序按下面的格式要求用户输入光年值,并显示结果:
Enter the number of light yeras: 4.2
4.2 light years = 265608 astronomical units.
天文单位是从地球到太阳的平均距离(约150000000公里或93000000英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球4.2光年)。请使用double类型,转换公式为:
1光年 = 63240天文单位
本题又是一个调用函数来完成单位转换的题目,思路与上两题类似。
代码如下:
// 2.6.cpp: 定义控制台应用程序的入口点。
// 函数调用
#include "stdafx.h"
#include <iostream>
double convert(double);
int main()
{
using namespace std;
cout << "Enter the number of light years: ";
double dist1;
cin >> dist1;
double dist2;
dist2 = convert(dist1);
cout << dist1 << " light years = " << dist2 << " astronomical units." << endl;
system("pause");
return 0;
}
double convert(double dist1)
{
using namespace std;
double dist2;
dist2 = 63240 * dist1;
return dist2;
}
代码运行结果如下:
7. 编写一个程序,要求用户输入小时数和分钟数。在main()函数中,将这两个值传递给一个void函数,后者以下面这样的格式显示这两个值:
Enter the number of hours: 9
Enter the number of minutes: 28
Time: 9:28
本题是要求我们输入小时和分钟来显示时钟,声明两个int类型的整数,输入数值之后按照时钟格式输出即可。
代码如下:
// 2.7.cpp: 定义控制台应用程序的入口点。
// 空函数调用
#include "stdafx.h"
#include <iostream>
void display(int, int);
int main()
{
using namespace std;
cout << "Enter the number of hours: ";
int hour;
cin >> hour;
cout << "Enter the number of minutes: ";
int minute;
cin >> minute;
display(hour,minute);
system("pause");
return 0;
}
void display(int hour, int minute)
{
using namespace std;
cout << "Time: " << hour << ":" << minute << endl;
}
在这里我调用了一个空函数,没有任何返回值,只是用来显示输出。当然也可以把显示输出的功能放进main()函数里面来进行。
代码运行结果如下: