【C++学习第六讲】第一章练习题(含源代码)

2023-11-08

  1. 显示自己的姓名和地址

就是简单使用cout函数进行输出,源代码如下:

#include <iostream>
int main() {
	using namespace std;
	cout << "王某某\n";
	cout << "浙江省杭州市";
	cout << endl;
	return 0;
}

运行结果为:

王某某
浙江省杭州市

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 13600)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 要求用户输入一个以long为单位的距离,转换成以码为单位,一long等于220码。

自己重新定义一个函数,用来进行数据之间的转换:

#include <iostream>
double trans(double);
int main() {
	using namespace std;
	cout << "请输入一个long:\n";
	double a;
	cin >> a;
	double aa = trans(a);
	cout << a << " long = ";
	cout << aa << " 码";
	cout << endl;
	return 0;
}
double trans(double n) {
	return n * 220;
}

运行结果为:

请输入一个long:
2
2 long = 440 码

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 16808)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 编写一个C++程序,它使用3个用户定义的函数(包括main()),并生成下面的输出:
three
three
one
one

我们的源代码如下:

#include <iostream>
void print_cout_1(void);
void print_cout_2(void);
int main() {
	using namespace std;
	print_cout_1();
	print_cout_1();
	print_cout_2();
	print_cout_2();
	return 0;
}
void print_cout_1(void) {
	using namespace std;
	cout << "three" << endl;
}
void print_cout_2(void) {
	using namespace std;
	cout << "one" << endl;
}

输出结果为:

three
three
one
one

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 27028)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 编写一个程序,让用户输入其年龄,然后显示这个年龄包含多少个月,如下所示:
请输入您的年龄:29

源代码如下:

#include <iostream>
int have_months(int);
int main() {
	using namespace std;
	int age;
	cout << "请输入您的年纪:\n";
	cin >> age;
	int months = have_months(age);
	cout << age << " 岁" << "有 " << months << " 个月!" << endl;
	return 0;

}
int have_months(int n) {
	return n * 12;
}

输出结果为:

请输入您的年纪:
20
20 岁有 240 个月!

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 25388)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 编写一个程序,其中的main()函数调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
请输入摄氏温度值:20
20 摄氏度等于 68 华氏度。

下面是转换公式:华氏温度 = 1.8 * 摄氏温度 + 32.0

源代码如下所示:

#include <iostream>
using namespace std;
float trans(float);
int main() {
	cout << "请输入摄氏温度值:";
	float tmp1;
	cin >> tmp1;
	float tmp2 = trans(tmp1);
	cout << tmp1 << " 摄氏度等于 " << tmp2 << " 华氏度!" << endl;
	return 0;
}
float trans(float n) {
	return n * 1.8 + 32.0;
}

输出结果为:

请输入摄氏温度值:20
20 摄氏度等于 68 华氏度!

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 18380)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 编写一个程序,其main()函数调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
请输入您的光年值:4.2
4.2 光年等于 265608 天文单位

天文单位是从地球到太阳的平均距离(约150000000公里或93000000英里),光年是光一年走的距离(约10万亿公里或6万亿英里),请用double类型,转换公式如下:
1 光年 = 63240 天文单位

源代码如下:

#include <iostream>
using namespace std;
double trans(double);
int main() {
	cout << "请输入您的光年值:";
	double s1;
	cin >> s1;
	double s2 = trans(s1);
	cout << s1 << "光年等于 " << s2 << " 天文单位" << endl;
	return 0;
}
double trans(double n) {
	return n * 63240;
}

输出结果为:

请输入您的光年值:1
1光年等于 63240 天文单位

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 8680)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
  1. 编写一个程序,要求用户输入小时数和分钟数。在main()函数中,将这两个值传递给一个void函数,后者以下面这样的格式显示这两个值:
请输入小时:9
请输入分钟:28
时间为:928

源代码为:

#include <iostream>
using namespace std;
void trans(int,int);
int main() {
	int hour;
	int minute;
	cout << "请输入小时:";
	cin >> hour;
	cout << "请输入分钟:";
	cin >> minute;
	trans(hour,minute);
	return 0;
}
void trans(int m, int n) {
	cout << m << ":" << n << endl;
}

输出结果为:

请输入小时:9
请输入分钟:28
9:28

D:\C++Project\Project1\x64\Debug\Project1.exe (进程 8024)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C++学习第六讲】第一章练习题(含源代码) 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 对于 C# Express 用户来说,有哪些好的工具可以识别可能重复的代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也可以看看 有什么工具可以检查重复的 VB NET 代码吗 https stackoverflow c
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K

随机推荐