UVa 537 - Artificial Intelligence?
2012-05-31 15:58
281 查看
题很简单,但是由于粗心,导致各种纠结,WA了N多次。。。。。
AC代码如下:
AC代码如下:
#include<stdio.h> #include<string.h> void func(char str[]) { int len, i, j, con, dot, n; double value[100], sum; char s[100]; len=strlen(str); memset(value, 0, sizeof(value)); for (i=0; i<len; i++) { if (str[i] == '=') { sum=0; dot=1; con=str[i-1]; for (j=i+1; j<len; j++) { if(str[j]!='.' && (str[j]<'0'||str[j]>'9')) { s[j-i-1]='\0'; break; } s[j-i-1]=str[j]; } i=j; n=strlen(s); for (j=0; j<n; j++) { if (s[j] >= '0' && s[j] <='9') { sum=sum*10+s[j]-'0'; } else { for (j=j+1; j<n; j++) { sum=sum*10+s[j]-'0'; dot*=10; } } } value[con]=1.0*sum/dot; if (str[i] == 'm') value[con]*=0.001; if (str[i] == 'k') value[con]*=1000; if (str[i] == 'M') value[con]*=1000000; } } if (!value['U']) printf("U=%.2lfV\n",1.0*value['P']/value['I']); if (!value['P']) printf("P=%.2lfW\n",1.0*value['U']*value['I']); if (!value['I']) printf("I=%.2lfA\n",1.0*value['P']/value['U']); } int main() { int T, i; char str[20000]; scanf("%d%*c", &T); for (i=0; i<T; i++) { gets(str); printf("Problem #%d\n",i+1); func(str); printf("\n"); } return 0; }
相关文章推荐
- UVA 537 Artificial Intelligence?
- uva537--String
- UVA537 - Artificial Intelligence?
- uva 537 - Artificial Intelligence?
- UVA 537-Artificial Intelligence?(模拟)
- UVa 537 Artificial Intelligence?
- UVA 537 解题报告
- UVA 537 Artificial Intelligence?
- uva 537
- UVa 537 Artificial Intelligence?
- UVA - 537 Artificial Intelligence?
- UVa 537 Artificial Intelligence?
- Uva 537 Artificial Intelligence?(Java正则表达式)
- UVa537 - Artificial Intelligence?
- UVA 537 字符串中的公式计算字母识别
- UVA 537 Artificial Intelligence?
- UVa 537 - Artificial Intelligence?
- UVA - UVA - 537 Artificial
- UVA537
- UVa537 Artificial Intelligence?