微软编程之美初赛第一场第一题焦距

擦,太失败了,才做出来第一题,第二题找不到自己错在哪里,感觉题目都还好。还是自己太菜了,需要努力。

小数据是自己写的,大数据让老婆写了,这题充分体现了自己基础差,读入到转换成double一定要多走弯路,基础是王道啊~

第一题代码

#include<iostream>
#include<string>
#include<stdio.h>
#include<stdlib.h>
using namespace std;

int main(){
    int T;
    cin>>T;
    for(int Case=1;Case<=T;Case++){
        char s1[20],s2[20],s3[20];
        scanf("%s %s %s",s1,s2,s3);
        string ss1(s1),ss2(s2),ss3(s3);
        float f1,f2,f3;
        if(ss1[ss1.length()-2]=='n'){
            ss1=ss1.substr(0,ss1.length()-2);
            f1=atof(const_cast<char*>(ss1.c_str()))/1000000;
        }
        else if(ss1[ss1.length()-2]=='u'){
            ss1=ss1.substr(0,ss1.length()-2);
            f1=atof(const_cast<char*>(ss1.c_str()))/1000;
        }
        else if(ss1[ss1.length()-2]=='m'){
            ss1=ss1.substr(0,ss1.length()-2);
            f1=atof(const_cast<char*>(ss1.c_str()));
        }
        else if(ss1[ss1.length()-2]=='c'){
            ss1=ss1.substr(0,ss1.length()-2);
            f1=atof(const_cast<char*>(ss1.c_str()))*10;
        }
        else if(ss1[ss1.length()-2]=='d'){
            ss1=ss1.substr(0,ss1.length()-2);
            f1=atof(const_cast<char*>(ss1.c_str()))*100;
        }
        else if(ss1[ss1.length()-2]<='9'&&ss1[ss1.length()-1]>='0'){
            ss1=ss1.substr(0,ss1.length()-1);
            f1=atof(const_cast<char*>(ss1.c_str()))*1000;
        }

        if(ss2[ss2.length()-2]=='n'){
            ss2=ss2.substr(0,ss2.length()-2);
            f2=atof(const_cast<char*>(ss2.c_str()))/1000000;
        }
        else if(ss2[ss2.length()-2]=='u'){
            ss2=ss2.substr(0,ss2.length()-2);
            f2=atof(const_cast<char*>(ss2.c_str()))/1000;
        }
        else if(ss2[ss2.length()-2]=='m'){
            ss2=ss2.substr(0,ss2.length()-2);
            f2=atof(const_cast<char*>(ss2.c_str()));
        }
        else if(ss2[ss2.length()-2]=='c'){
            ss2=ss2.substr(0,ss2.length()-2);
            f2=atof(const_cast<char*>(ss2.c_str()))*10;
        }
        else if(ss2[ss2.length()-2]=='d'){
            ss2=ss2.substr(0,ss2.length()-2);
            f2=atof(const_cast<char*>(ss2.c_str()))*100;
        }
        else if(ss2[ss2.length()-2]<='9'&&ss2[ss2.length()-1]>='0'){
            ss2=ss2.substr(0,ss2.length()-1);
            f2=atof(const_cast<char*>(ss2.c_str()))*1000;
        }
        ss3=ss3.substr(0,ss3.length()-2);
        f3=atof(const_cast<char*>(ss3.c_str()));
        float f4=0.009;
        //printf("%0.2f",f4);
        printf("Case %d: %0.2fpx\n",Case,f3*f1/f2);
    }
}

 

posted on 2014-04-19 22:17  云在心  阅读(180)  评论(0)    收藏  举报

导航