POJ 2256 Artificial Intelligence?

来源:互联网 发布:红杉树网络会议系统 编辑:程序博客网 时间:2024/05/17 04:13

P = U * I
有单位的转换。
就是个小模拟题。

#include<cstdio>#include<iostream>#include<cstring>using namespace std;int main(){    int n;    scanf("%d",&n);    for(int i = 1 ; i <= n; i++)    {        double U=0,P=0,I=0;        char c[1000];        int j = 0;        while((c[j] = getchar())!='=') j++;        if(c[j-1]=='U')        {                scanf("%lf",&U);                c[++j]=getchar();                if(c[j]=='m') U*=0.001;                else if(c[j]=='M') U *=1000000;                else if(c[j]=='k') U *=1000;                j++;        }        if(c[j-1]=='I')        {                scanf("%lf",&I);                c[++j]=getchar();                if(c[j]=='m') I*=0.001;                else if(c[j]=='M') I *=1000000;                else if(c[j]=='k') I *=1000;                j++;        }        if(c[j-1]=='P')        {                scanf("%lf",&P);                c[++j]=getchar();                if(c[j]=='m') P*=0.001;                else if(c[j]=='M') P *=1000000;                else if(c[j]=='k') P *=1000;                j++;        }        while((c[j] = getchar())!='=') j++;        if(c[j-1]=='U')        {                scanf("%lf",&U);                c[++j]=getchar();                if(c[j]=='m') U*=0.001;                else if(c[j]=='M') U *=1000000;                else if(c[j]=='k') U *=1000;                j++;        }        if(c[j-1]=='I')        {                scanf("%lf",&I);                c[++j]=getchar();                if(c[j]=='m') I*=0.001;                else if(c[j]=='M') I *=1000000;                else if(c[j]=='k') I *=1000;                j++;        }        if(c[j-1]=='P')        {                scanf("%lf",&P);                c[++j]=getchar();                if(c[j]=='m') P*=0.001;                else if(c[j]=='M') P *=1000000;                else if(c[j]=='k') P *=1000;                j++;        }        printf("Problem #%d\n",i);        if(P==0)        {            P = U*I;            printf("P=%.2lfW\n",P);        }        else if(I==0)        {            I = P / U;            printf("I=%.2lfA\n",I);        }        else if(U==0)        {            U = P / I ;            printf("U=%.2lfV\n",U);        }        printf("\n");    }    return 0;}
0 0
原创粉丝点击