课后作业

2023/10/27

# 第二课

# 1. 声明一个值为大写 A 的变量,并依据 ASCII表 用声明的变量输出 L X Y

输出示例:
LXY
  • 你的答案
#include<iostream>
using namespace std;
int main(){
	char a = 'A';
	cout <<static_cast<char>(a+11)<<" "<<static_cast<char>(a+23)<<" "<<static_cast<char>(a+24)<<endl;
}
  • 解析
    此题主要考核对于ASCII表的认识,通过A的十进制值可以通过运算输出其他字符,注意输出时需要使用强制转换输出,否则将自动隐式转换输出,输出将为数字

    • 参考答案
#include <iostream>
using namespace std;
int main() {
    char a = 'A';
	cout <<static_cast<char>(a+11);
    cout <<static_cast<char>(a+23);
    cout <<static_cast<char>(a+24);
    return 0;
}

# 2. 已知使用 cin 流能够进行数据的读取,请编写一个程序将输入的小写字符转为大写字符输出。

请编写一个 C++ 程序,将输入的小写字符转为大写字符输出。

  • cin使用示例:
// 定义变量
int letter;
// 将输入值赋值给变量。
cin >> letter;
// 注意:成功编译后程序运行起来将会光标提示输入,输入后回车,程序将继续向下运行。
输入输出示例:
// 输入
a
// 输出
A
  • 你的答案
#include <iostream>
using namespace std;
int main()
{
	char a[20];
	int i = 0;
	cout<<"������һ���ַ�:\n";
	cin>>a;
	for(;a[i];i++)
	{
		if(a[i] >= 'a'&&a[i] <= 'z')
            a[i] -= 32;
		else if(a[i] >= 'A'&&a[i] <= 'Z')
            a[i] += 32;
	}
	for(i = 0;a[i];i++)
		cout<<a[i];
	cout<<endl;
	return 0;
}
  • 解析
    此题主要考核ASCII表中的字母大小写关系,通过32的差值可以进行其大小写转换,题目中使用了cin来进行输入操作。注意示例中使用的int类型声明变量,因为需要输入字符,所以需要使用char声明,有关cin操作在后续课程将进行详细讲解,目前已知使用示例代码即可进行一个类似声明赋值操作,题目中未要求输入多字符或区分大小写转换,只做将输入的小写字符转为大写字符输出即可

    • 参考答案
#include <iostream>
using namespace std;
int main() {
    char letter;
    cin >> letter;
    cout <<static_cast<char>(letter-32);
    return 0;
}

# 3. 输入一个单精度浮点数,将其向零舍入到整数输出。

请编写一个 C++ 程序,输入一个单精度浮点数,将其向零舍入到整数输出。

说明:向零舍入的含义是,正数向下舍入,负数向上舍入(正数下取整,负数上取整,即舍去小数部分)。
提示:可以使用 cin强制类型转换来实现。

输入输出示例:
// 输入
2.3
// 输出
2
  • 你的答案
#include<iostream>
using namespace std;
int main(){
	float a;
	cin >> a;
	cout <<static_cast<int>(a)<<endl;
}
  • 解析
    此题主要考核强制类型转换的显式转换与单精度浮点数类型的认识,通过将float转换为int实现从小数转化为整数的操作。需要注意的是,不管多简单的考题或程序,无特殊说明必须保证程序完整性,答案中缺少了主函数的返回值

    • 参考答案
#include<iostream>
using namespace std;
int main(){
	float a;
	cin >> a;
	cout <<static_cast<int>(a);
    return 0;
}
上次更新: 2024-10-19 10:01:51