码迷,mamicode.com
首页 > 其他好文 > 详细

uva 537 - Artificial Intelligence?

时间:2015-07-16 13:44:52      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<cctype>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;

int main(){
    int T, k = 1;
    double U, I, P;
    cin >> T;
    cin.ignore();

    string s;
    while(T--){
        cout << "Problem #" << k++ << endl;
        getline(cin,s);

        U = I = P = -1;
        int i,j;
        for(i = 0; i < s.length(); i++){
            if(s[i] == ‘=‘){                    //判断=号,到数据区
                double num = 0,temp = 0;
                for(j = i + 1; isdigit(s[j]); j++)    //num计算整数部分
                    num = num*10 + s[j] - ‘0‘;
                if(s[j] == ‘.‘){                      //如果有小数,则temp计算
                    int ct = 0;
                    for(j = j +1; isdigit(s[j]); j++)
                        temp += (s[j] - ‘0‘)*pow(10.0,-(++ct));
                }
                num += temp;
                if(s[j] == ‘m‘)                     //判断单位
                    num /= 1000;
                else if(s[j] == ‘k‘)
                    num *= 1000;
                else if(s[j] == ‘M‘)
                    num *= 1000000;
                if(s[i-1] == ‘U‘)
                    U = num;
                else if(s[i-1] == ‘I‘)
                    I = num;
                else if(s[i-1] == ‘P‘)
                    P = num;
            }
        }
        if(P == -1)
            printf("P=%.2fW\n",U*I);
        else if(U == -1)
            printf("U=%.2fV\n",P/I);
        else
            printf("I=%.2fA\n",P/U);
        cout << endl;
    }

    return 0;
}

 

uva 537 - Artificial Intelligence?

标签:

原文地址:http://www.cnblogs.com/yong-hua/p/4650669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!