当前位置: 首页 > article >正文

[传智杯 #3 练习赛] 单位转换

题目描述

我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。

提示,11 GB = 210210 MB = 220220 KB = 230230 B。

输入格式

输入一个字符串,由一个 0 到 1023 之间的整数,一个单位名称(大写字母),一个等于号和问号,以及第二个单位名称。

单位只有可能是 GB,MB,KB,B 之间的一个。

输出格式

输出一个数字,精确到小数点后 6 位。

输入输出样例

输入 #1复制

128MB=?GB

输出 #1复制

0.125000

输入 #2复制

64MB=?KB

输出 #2复制

65536.000000
#include <iostream>
#include <math.h>
using namespace std;
int main(){
    int n,w=0,s=0,a[3]={0};//用数组a来记录前后的大小关系
    double q;
    //1024的几次方
    cin>>n;
    string ch;
    cin>>ch;//输入字符串
    for(int i=0;ch[i]!='\0';i++){
        if(ch[i]=='K')
        {
            a[s]=1;
            s++;
        }
        else if(ch[i]=='M'){
            a[s]=2;
            s++;
        }
        else if(ch[i]=='G'){
            a[s]=3;
            s++;
        }
        if(ch[i]=='?'){
            if(s==0){//如果前面一个是B的话,让数组加2
                s+=2;
            }
            else//其他就加一
            s++;
        }
    }
    w=a[0]-a[2];//前面减去后面实现转化
    q=1.0*n*pow(1024,w);
    printf("%lf",q);
    return 0;
}


http://www.kler.cn/a/157381.html

相关文章:

  • SAP HCM 考勤时间冲突到分 源码分析
  • JavaWeb期末复习(习题)
  • golang自定义MarshalJSON、UnmarshalJSON 原理和技巧
  • DB-GPT V0.6.3 版本更新:支持 SiliconCloud 模型、新增知识处理工作流等
  • Windows server 服务器网络安全管理之防火墙出站规则设置
  • 使用 UniApp 在微信小程序中实现 SSE 流式响应
  • 绝密人性天书
  • Python中的类(Class)和对象(Object)
  • 微服务调用组件Feign
  • 人工智能-A*算法-八数码问题
  • BiseNet实现遥感影像地物分类
  • QT之QString
  • 进入软件的世界
  • Android 如何让路由器或者其他AP设备获取到主机名
  • VQD视频质量诊断服务/图像质量诊断/视频流质量诊断/传统方法与深度学习结合的视频质量诊断
  • 基于Linux的网络防火墙设计方法
  • 记一次SQL Server磁盘突然满了导致数据库锁死事件is full due to ‘LOG_BACKUP‘.
  • python中的元组
  • JavaEE进阶学习:Spring Boot 配置文件
  • GEE:梯度卷积
  • JVM:双亲委派(未完结)
  • 在文本框中添加单位
  • 【ARM CoreLink 系列 8.2 -- SMMU 详细介绍-STE Entry 详细介绍 2】
  • 振动和震动的区别?
  • GPIO的使用--点亮外接小灯泡--开关控制
  • 鸿蒙原生应用/元服务开发-AGC分发如何下载管理Profile