小学数学

【题目描述】
今天的电脑课,老师给大家普及了一些计算机知识。

硬盘制造商有不同的容量衡量标准。
通常制造商认为1“kilo”等于1000,但操作系统会认为是1024。
因此,当你购买了一个100MB的硬盘,电脑却只显示大约有95MB,这缺失了大约5MB。
对于硬盘的大小,有多种单位描述。
它们分别是byte, kilobyte, megabyte, gigabyte, terabyte, petabyte, exabyte, zetabyte 和yottabyte。
每一个都相当于前一个的 1“kilo”倍。 例如,1 gigabyte 就是 1 “kilo” megabytes.

给定制造商所代表的硬盘的大小,你决定试着计算“缺失部分”的百分比。

【输入格式】
第一行给定T,表示有T组数据。

每组数据形如:数字[单位] ,其中"数字"在范围 [1, 1000]内 ,
同时"单位"为以下单位之一:“B”, “KB”, “MB”, “GB”, “TB”, “PB”, “EB”, “ZB”, “YB” ,
单位大小是递增的。

【输出格式】
对于第x组数据,输出:“Case #x: y”, 其中y是缺失部分的百分比,具体输出格式可参考样例。

在这里插入图片描述
注意空格!注意空格!注意空格!

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int m = n;
    while(n--)
    {
        int a;
        cin>>a;
        string h;
        cin>>h;
        if(strcmp(h.c_str(),"[B]")==0)  printf("Case #%d: %.2lf%%\n",m-n,1.0-1.0);
        if(strcmp(h.c_str(),"[KB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024)*100);
        if(strcmp(h.c_str(),"[MB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[GB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[TB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[PB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[EB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024/1.024/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[ZB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024/1.024/1.024/1.024/1.024)*100);
        if(strcmp(h.c_str(),"[YB]")==0) printf("Case #%d: %.2lf%%\n",m-n,(1-1.0/1.024/1.024/1.024/1.024/1.024/1.024/1.024/1.024)*100);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

诺比诺比哒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值