#include <stdio.h> #include <string.h> #include <stdlib.h> char line[10000]={'\0'}; int main(){ //freopen("input.txt", "r", stdin); int n; scanf("%d",&n); getchar(); int cases=n; while(n--){ printf("Problem #%d\n",cases-n); //輸出problem數 gets(line); double P=0,U=0,I=0; int enableP=0, enableU=0, enableI=0; //宣告是否出現變數的檢查變數 for(int i=0; i<strlen(line); i++){ char buffer[1000]; int j=0,flag; //搜尋到"P=___mW" for(int p=0;p<1000;p++)buffer[p]='\0'; flag=0; if(line[i]=='P' && line[i+1]=='='){ enableP=1; for(j=i+2; (line[j]<='9'&&line[j]>='0')||line[j]=='.' ; j++){ buffer[flag]=line[j]; flag++; } double tmp = atof(buffer); if(line[j]=='m')tmp/=1000; if(line[j]=='k')tmp*=1000; if(line[j]=='M')tmp*=1000000; P = tmp; } //搜尋到"U=___kV" for(int p=0;p<1000;p++)buffer[p]='\0'; flag=0; if(line[i]=='U' && line[i+1]=='='){ enableU=1; for(j=i+2; (line[j]<='9'&&line[j]>='0')||line[j]=='.' ; j++){ buffer[flag]=line[j]; flag++; } double tmp = atof(buffer); if(line[j]=='m')tmp/=1000; if(line[j]=='k')tmp*=1000; if(line[j]=='M')tmp*=1000000; U = tmp; } //搜尋到"I=___MA" for(int p=0;p<1000;p++)buffer[p]='\0'; flag=0; if(line[i]=='I' && line[i+1]=='='){ enableI=1; for(j=i+2; (line[j]<='9'&&line[j]>='0')||line[j]=='.' ; j++){ buffer[flag]=line[j]; flag++; } double tmp = atof(buffer); if(line[j]=='m')tmp/=1000; if(line[j]=='k')tmp*=1000; if(line[j]=='M')tmp*=1000000; I = tmp; } } //printf("P=%.2f U=%.2f I=%.2f \n", P, U, I); if(enableP==0)printf("P=%.2fW\n", U*I); if(enableU==0)printf("U=%.2fV\n", P/I); if(enableI==0)printf("I=%.2fA\n", P/U); //for(int i=0;line[i];i++)printf("%c",line[i]); printf("\n"); } return 0; }
2014年9月6日星期六
[UVa] 537 - Artificial Intelligence?
訂閱:
發佈留言 (Atom)
-
因為先前寫UVa時,檔案名稱有時會花心思改,有時就直接把題目名稱加上.cpp就貼上了 導致現在有不同的格式出現 現在要處理的事情很簡單 1. 去除空白 2. 將底線 ( _ ) 換成dash ( - ) 經過一番查詢,終於發現最簡單的方法 - re...
-
文章出處: http://infbugs.blogspot.tw/2011/12/c_20.html 謝謝沙耶,解答了我長久以來對於 input/output 的疑惑。 C 語言入門 - 在線上批改系統練功 如何練習使用基本語法 自己出個練習題試著寫...
-
一開始用數學方法推斷得出,設輸入為n k為在n的前一斜線列數,故只要找到 (1+k)*k/2 < n 的最大k值,即可判定 k%2 == 1 => ((2*n)-(k*k)-k)/2 / ((k*k)+(3*k)-(2*n)+4)/2 k%2 ==...
沒有留言:
發佈留言