第三节 标准数据类型
1414:【17NOIP普及组】成绩
【题目描述】
牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:
总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。
【输入】
只有 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测 成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。
【输出】
只有 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是 100 分。
【输入样例】
100 100 80
【输出样例】
90
【提示】
【输入输出样例 1 说明】 牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成 绩是 100 × 20% + 100 × 30% + 80 × 50% = 20 + 30 + 40 = 90。
【输入输出样例 2】
输入:
60 90 80
输出:
79
【输入输出样例 2 说明】 牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是 60 × 20% + 90 × 30% + 80 × 50% = 12 + 27 + 40 = 79。
【数据说明】
对于 30% 的数据,A = B = 0。
对于另外 30% 的数据,A = B = 100。
对于 100% 的数据, 0 ≤ A、B、C ≤ 100 且 A、B、C 都是 10 的整数倍。
#include <stdio.h>
main()
{
int A, B, C, result;
scanf("%d %d %d", &A, &B, &C);
result = A * 20 / 100 + B * 30 / 100 + C * 50 / 100;
printf("%d",result);
return 0;
}
1016:整型数据类型存储空间大小
【题目描述】
分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
#include <stdio.h>
main()
{
printf("%lu %lu",sizeof(int), sizeof(short));
return 0;
}
1017:浮点型数据类型存储空间大小
【题目描述】
分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
#include <stdio.h>
main()
{
printf("%lu %lu",sizeof(float), sizeof(double));
return 0;
}
1018:其他数据类型存储空间大小
【题目描述】
分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
#include <stdio.h>
#include <stdbool.h>
main()
{
printf("%lu %lu",sizeof(bool), sizeof(char));
return 0;
}
1019:浮点数向零舍入
【题目描述】
输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。
【输入】
一个单精度浮点数。
【输出】
一个整数,即向零舍入到整数的结果。
【输入样例】
2.3
【输出样例】
2
#include <stdio.h>
#include <stdbool.h>
main()
{
float a;
scanf_s("%f", &a);
int b = (int)a;
printf("%d", b);
return 0;
}