problem description
讀入兩個小於100的正整數a和b,計算a+b.
需要注意的是:a和b的每一位數字由對應的英文單詞給出.
input
測試輸入包含若干測試用例,每個測試用例佔一行,格式為"a + b =",相鄰兩字串有乙個空格間隔.當a和b同時為0時輸入結束,相應的結果不要輸出.
output
對每個測試用例輸出1行,即a+b的值.
sample input
one + two =three four + five six =zero seven + eight nine =zero + zero =
sample output
這個題 其實思路挺簡單的,但是中間細節總是出錯。花了好久才寫出來,看到這道題的正確率心裡哇涼哇涼。整體思路是直接把輸入內容看成乙個整體,然後在進行的分割,分割的重點在於它們每個單詞和單詞之間 或者單詞 和運算子之間都有空格。所以利用這一點,我們用scanf來儲存字串;因為scanf儲存字串時以空格為結束 不接收空格;這樣100以內的求和 最多接收 6個字串;**如下;
#include #includeint main()
;//用0~9的英文單詞 直接給字串陣列賦值;
int b[10]=,p[5];//對應的,再將0~9數字給b陣列,順序要一樣,因為他們的下標在下面會用到。p用來記錄每個字串翻譯過來的數字;
int i=0,j,k=0;
char c[6][7];//用6個字串陣列接收6個字串;
for(k=0;;k++)
}}if(p[0]==0&&p[2]==0&&p[3]==-1)break;//確認終止迴圈的條件,和避免輸入(__ __ + zero 非零數 = )跳出迴圈
if(p[1]==-1)
if(p[1]!=-1)
}return 0;
}
#include #include #includechar num[10][6]= ;
using namespace std;
int ex(char s)
}int main()
while(scanf("%s",s),strcmp(s,"=")!=0)
if(ta==0&&tb==0)
break;
else
printf("%d\n",ta+tb);
}return 0;
}
杭電2524 矩形A B
problem description 給你乙個高為n 寬為m列的網格,計算出這個網格中有多少個矩形,下圖為高為2,寬為4的網格.第一行輸入乙個t,表示有t組資料,然後每行輸入n,m,分別表示網格的高和寬 n 100 m 100 output 每行輸出網格中有多少個矩形.sample input 2...
杭電1229 還是a b
problem description 讀入兩個小於10000的正整數a和b,計算a b。需要注意的是 如果a和b的末尾k 不超過8 位數字相同,請直接輸出 1。input 測試輸入包含若干測試用例,每個測試用例佔一行,格式為 a b k 相鄰兩數字有乙個空格間隔。當a和b同時為0時輸入結束,相應的...
杭電ACM 1230 火星A B
problem description 讀入兩個不超過25位的火星正整數a和b,計算a b。需要注意的是 在火星上,整數不是單一進製的,第n位的進製就是第n個素數。例如 地球上的10進製數2,在火星上記為 1,0 因為火星個位數是2進製的 地球上的10進製數38,在火星上記為 1,1,1,0 因為火...