UVa 537 - Artificial Intelligence?
生活随笔
收集整理的這篇文章主要介紹了
UVa 537 - Artificial Intelligence?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題很簡單,但是由于粗心,導致各種糾結,WA了N多次。。。。。
AC代碼如下:
1 #include<stdio.h> 2 #include<string.h> 3 4 void func(char str[]) 5 { 6 int len, i, j, con, dot, n; 7 double value[100], sum; 8 char s[100]; 9 len=strlen(str); 10 memset(value, 0, sizeof(value)); 11 for (i=0; i<len; i++) 12 { 13 if (str[i] == '=') 14 { 15 sum=0; 16 dot=1; 17 con=str[i-1]; 18 for (j=i+1; j<len; j++) 19 { 20 if(str[j]!='.' && (str[j]<'0'||str[j]>'9')) 21 { 22 s[j-i-1]='\0'; 23 break; 24 } 25 s[j-i-1]=str[j]; 26 } 27 i=j; 28 n=strlen(s); 29 for (j=0; j<n; j++) 30 { 31 if (s[j] >= '0' && s[j] <='9') 32 { 33 sum=sum*10+s[j]-'0'; 34 } 35 else 36 { 37 for (j=j+1; j<n; j++) 38 { 39 sum=sum*10+s[j]-'0'; 40 dot*=10; 41 } 42 } 43 } 44 value[con]=1.0*sum/dot; 45 if (str[i] == 'm') 46 value[con]*=0.001; 47 if (str[i] == 'k') 48 value[con]*=1000; 49 if (str[i] == 'M') 50 value[con]*=1000000; 51 } 52 } 53 if (!value['U']) 54 printf("U=%.2lfV\n",1.0*value['P']/value['I']); 55 if (!value['P']) 56 printf("P=%.2lfW\n",1.0*value['U']*value['I']); 57 if (!value['I']) 58 printf("I=%.2lfA\n",1.0*value['P']/value['U']); 59 } 60 61 int main() 62 { 63 int T, i; 64 char str[20000]; 65 scanf("%d%*c", &T); 66 for (i=0; i<T; i++) 67 { 68 gets(str); 69 printf("Problem #%d\n",i+1); 70 func(str); 71 printf("\n"); 72 } 73 return 0; 74 }轉載于:https://www.cnblogs.com/zrq495/archive/2012/05/31/2528627.html
總結
以上是生活随笔為你收集整理的UVa 537 - Artificial Intelligence?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输入框样式总结
- 下一篇: 树形数据深度排序处理示例(递归法).sq