PAT-B 1053. 住房空置率
来源:互联网 发布:扩展欧几里得算法公式 编辑:程序博客网 时间:2024/04/29 00:25
题目内容:
在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:
- 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”;
- 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。
现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。
输入格式:
输入第一行给出正整数N(<=1000),为居民区住房总套数;正实数e,即低电量阈值;正整数D,即观察期阈值。随后N行,每行按以下格式给出一套住房的用电量数据:
k E1E2...Ek 其中
k 为观察的天数,Ei 为第i 天的用电量。输出格式:
在一行中输出“可能空置”的比率和“空置”比率的百分比值,其间以一个空格分隔,保留小数点后1位。
输入样例:
5 0.5 106 0.3 0.4 0.5 0.2 0.8 0.610 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.55 0.4 0.3 0.5 0.1 0.711 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.111 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1
输出样例:
40.0% 20.0%
(样例解释:第2、3户为“可能空置”,第4户为“空置”,其他户不是空置。)
思路分析:
这道题需要注意的是,因为浮点数参与计算,有除法的时候要先转换类型,再计算,并保存为浮点数,避免数据损失。
代码:
#include <stdio.h>typedef struct data_{ // 包含观测天数和每一天用电量的一个观测样本 int K; double e[1000];}Data;int main(){ int n, D, star[1000] = {0}, cnt_a = 0, cnt_b = 0; // cnt_a表示可能空置的个数,cnt_b表示空置的个数 double E, a, b; Data data[1000]; scanf("%d %lf %d", &n, &E, &D); // 读取总房间数,电量阈值和观测期阈值 for (int i = 0; i < n; i++) { scanf("%d", &data[i].K); // 读取观测期 for (int j = 0; j < data[i].K; j++) { // 读取观测期内每一天的用电量,并根据电量阈值统计计低用电量天数 scanf("%lf", &data[i].e[j]); if (data[i].e[j] < E) star[i]++; } if (star[i] * 2 > data[i].K) { // 符合低电量天数小于观测期的一半的,为可能空置 if (data[i].K > D) cnt_b++; // 可能空置中观测期超过了阈值的,为空置 else cnt_a++; } } a = (double)cnt_a / n * 100; // 这里注意浮点数转换要放在前面 b = (double)cnt_b / n * 100; printf("%.1f%% %.1f%%", a, b); return 0;}
点这里进入试题网页
0 0
- PAT-B 1053. 住房空置率
- PAT-B 1053. 住房空置率
- PAT Basic 1053. 住房空置率 (20)
- PAT 1053. 住房空置率 (20)
- C++ - PAT - 1053. 住房空置率 (20)
- 1053. 住房空置率 (20) PAT乙级
- 1053. 住房空置率 (20)-PAT乙级
- PAT 乙级 1053. 住房空置率 (20)
- [PAT-乙级]1053.住房空置率
- 1053. 住房空置率 (20) PAT
- PAT乙级 1053. 住房空置率 (20)
- PAT乙级 1053. 住房空置率 (20)
- [PAT乙级]1053. 住房空置率 (20)
- PAT乙级1053. 住房空置率 (20)
- pat 乙级 1053. 住房空置率 (20)
- PAT乙级1053. 住房空置率(20)
- PAT乙级1053. 住房空置率 (20)
- PAT 1053住房空置率
- 【比较】StringBuffer类和String
- ORACLE 常用函数及日期控制
- Java 基础——类的加载
- leetcode 15. 3Sum
- n*log(3)n排序算法
- PAT-B 1053. 住房空置率
- 客户端网页编程1
- Java枚举类
- python运维之IPY模块
- Java 基础——数组解析
- 学习react-native之Navigator
- 客户端网页编程2
- eclipse使用debug模式启动不起来
- iOS开发 - UIActivityViewController详解