信息学奥赛一本通C++ - 第二章 - 第三节 标准数据类型

1414:【17NOIP普及组】成绩

题目描述

牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%。牛牛想知道,这门课程自己最终能得到多少分。

解题思路
  1. 读取输入:从输入中读取牛牛的作业成绩、小测成绩和期末考试成绩。
  2. 计算总成绩:按照给定的比例计算总成绩。
  3. 输出结果:输出计算得到的总成绩。
代码实现
#include <iostream>
using namespace std;

int main() {
    int A, B, C; // 定义牛牛的作业成绩、小测成绩和期末考试成绩
    cin >> A >> B >> C; // 从输入读取成绩

    // 按照给定的比例计算总成绩
    int totalScore = A * 20 / 100 + B * 30 / 100 + C * 50 / 100;

    cout << totalScore; // 输出总成绩

    return 0; // 程序结束
}
代码解析
  • 使用三个整数变量ABC来存储输入的作业成绩、小测成绩和期末考试成绩。
  • 根据给定的百分比计算总成绩,每个成绩乘以相应的百分比然后求和。
  • 使用cout输出计算出的总成绩。
  • 程序使用标准输入输出流cincout进行数据的读取和输出。

1016:整型数据类型存储空间大小

题目描述

分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

解题思路
  • 使用sizeof运算符来获取intshort类型的变量的存储空间大小。
  • 输出这两个数据类型的存储空间大小,单位为字节。
代码实现
#include <iostream>
using namespace std;

int main() {
    // 定义int和short类型的变量
    int intVar;
    short shortVar;

    // 输出int和short类型的变量的存储空间大小
    cout << sizeof(intVar) << " " << sizeof(shortVar);

    return 0; // 程序结束
}
代码解析
  • 使用sizeof运算符来获取intVarint类型变量)和shortVarshort类型变量)的存储空间大小。
  • 使用cout输出这两个变量的存储空间大小,单位为字节。
  • 程序不需要输入,直接输出intshort类型的存储空间大小。

1017:浮点型数据类型存储空间大小

题目描述

分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

解题思路
  • 使用sizeof运算符来获取floatdouble类型的变量的存储空间大小。
  • 输出这两个数据类型的存储空间大小,单位为字节。
代码实现
#include <iostream>
using namespace std;

int main() {
    // 定义float和double类型的变量
    float floatVar;
    double doubleVar;

    // 输出float和double类型的变量的存储空间大小
    cout << sizeof(floatVar) << " " << sizeof(doubleVar);

    return 0; // 程序结束
}
代码解析
  • 使用sizeof运算符来获取floatVarfloat类型变量)和doubleVardouble类型变量)的存储空间大小。
  • 使用cout输出这两个变量的存储空间大小,单位为字节。
  • 程序不需要输入,直接输出floatdouble类型的存储空间大小。

1018:其他数据类型存储空间大小

题目描述

分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

解题思路
  • 使用sizeof运算符来获取boolchar类型的变量的存储空间大小。
  • 输出这两个数据类型的存储空间大小,单位为字节。
代码实现
#include <iostream>
using namespace std;

int main() {
    // 定义bool和char类型的变量
    bool boolVar;
    char charVar;

    // 输出bool和char类型的变量的存储空间大小
    cout << sizeof(boolVar) << " " << sizeof(charVar);

    return 0; // 程序结束
}
代码解析
  • 使用sizeof运算符来获取boolVarbool类型变量)和charVarchar类型变量)的存储空间大小。
  • 使用cout输出这两个变量的存储空间大小,单位为字节。
  • 程序不需要输入,直接输出boolchar类型的存储空间大小。

1019:浮点数向零舍入

题目描述

输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。

解题思路
  • 读取一个单精度浮点数。
  • 使用强制类型转换将其向零舍入到整数。
  • 输出舍入后的整数。
代码实现
#include <iostream>
using namespace std;

int main() {
    float num; // 定义单精度浮点数变量
    cin >> num; // 从输入读取浮点数

    int roundedNum = static_cast<int>(num); // 将浮点数向零舍入到整数

    cout << roundedNum; // 输出舍入后的整数

    return 0; // 程序结束
}
代码解析
  • 使用float类型变量num来存储输入的单精度浮点数。
  • 通过强制类型转换(static_cast<int>),将浮点数转换为整数,实现向零舍入。
  • 使用cout输出向零舍入后的整数。
  • 程序使用标准输入输出流cincout进行数据的读取和输出。

1020:打印ASCII码

题目描述

输入一个除空格以外的可见字符,输出其ASCII码。

解题思路
  • 读取一个字符。
  • 输出该字符的ASCII码。
代码实现
#include <iostream>
using namespace std;

int main() {
    char ch; // 定义字符变量
    cin >> ch; // 从输入读取字符

    int asciiCode = static_cast<int>(ch); // 获取字符的ASCII码

    cout << asciiCode; // 输出ASCII码

    return 0; // 程序结束
}
代码解析
  • 使用char类型变量ch来存储输入的字符。
  • 通过强制类型转换(static_cast<int>),将字符转换为其对应的ASCII码值。
  • 使用cout输出该字符的ASCII码。
  • 程序使用标准输入输出流cincout进行数据的读取和输出。

1021:打印字符

题目描述

输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。

解题思路
  • 读取一个整数,表示ASCII码。
  • 将这个整数转换为对应的字符。
  • 输出这个字符。
代码实现
#include <iostream>
using namespace std;

int main() {
    int asciiCode; // 定义整数变量
    cin >> asciiCode; // 从输入读取ASCII码

    char ch = static_cast<char>(asciiCode); // 将整数转换为对应的字符

    cout << ch; // 输出字符

    return 0; // 程序结束
}
代码解析
  • 使用int类型变量asciiCode来存储输入的ASCII码。
  • 通过强制类型转换(static_cast<char>),将整数ASCII码转换为对应的字符。
  • 使用cout输出转换后的字符。
  • 程序使用标准输入输出流cincout进行数据的读取和输出。

1022:整型与布尔型的转换

题目描述

将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?

解题思路
  1. 读取输入:读取一个整数。
  2. 进行类型转换
    • 首先将整数赋给布尔型变量。
    • 然后将布尔型变量的值赋给一个整型变量。
  3. 输出结果:输出转换后的整型变量的值。
代码实现
#include <iostream>
using namespace std;

int main() {
    int initial; // 定义初始的整型变量
    cin >> initial; // 从输入读取整数

    bool boolVar = initial; // 将整数赋给布尔型变量
    int result = boolVar; // 将布尔型变量的值赋给整型变量

    cout << result; // 输出结果

    return 0; // 程序结束
}
代码解析
  • 使用int类型变量initial来存储输入的整数。
  • initial的值赋给布尔型变量boolVar。在C++中,任何非0的整数赋值给布尔型后都会转换为true,而true赋值回整型变量会转换为1
  • 输出转换后得到的整型值result,这里应该是1,因为任何非0的整数转换到布尔型都是true,然后true转换回整型是1
  • 程序使用标准输入输出流cincout进行数据的读取和输出。

1023:Hello,World!的大小

题目描述

输出“Hello, World!”这个字符串所占用的空间大小。

解题思路
  • 使用sizeof函数来获取字符串"Hello, World!"所占用的空间大小。
  • 输出该字符串的大小。
代码实现
#include <iostream>
using namespace std;

int main() {
    // 使用sizeof获取"Hello, World!"字符串所占用的空间大小
    cout << sizeof("Hello, World!");

    return 0; // 程序结束
}
代码解析
  • "Hello, World!"是一个字符串字面量,包括了所有字符和末尾的空字符\0
  • 使用sizeof运算符获取这个字符串的大小,它会计算出字符串中所有字符的大小,包括末尾的空字符。
  • 使用cout输出字符串的大小。
  • 程序不需要输入,直接输出字符串"Hello, World!"的空间大小。
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天秀信奥编程培训

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值