開始前的話
今天微軟筆試難度直接把我嚇蒙了··· 之前的騰訊網(wǎng)易筆試這些都還好仪壮,算法題能寫出來,微軟的4個(gè)算法題,一個(gè)沒讀懂臼节,一個(gè)不會(huì)做;寫完的兩個(gè)則是一個(gè)通過測(cè)試一個(gè)沒通過···
算是第一次遇到算法上的重大打擊珊皿,我決定開始刷acm网缝。隨手百度到浙大的acm題庫(kù),感覺難度還可以就做了幾個(gè)亮隙。(別問我為啥不用自己川大的acm題庫(kù)途凫,tm我進(jìn)到藍(lán)色星空就來個(gè)403,這玩毛···)
進(jìn)入正題溢吻,打算寫c++/c和java兩個(gè)版本的代碼维费,遇到oo好做的就用java果元,遇到操作內(nèi)存啥的就用c/c++
1001
很簡(jiǎn)單的第一道題,就當(dāng)是回顧io操作了犀盟。
Calculate a + bInput
The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line.Output
For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input.Sample Input
1 5
Sample Output
6
Hint
Use + operator
c寫的
#include "stdafx.h"
int main()
{
int a, b;
while (scanf("%d%d",&a,&b)!=EOF)
{
printf("%d",a+b);
}
return 0;
}
這里提一下遇到的兩個(gè)問題:
1.visual studio 中編譯 C 語(yǔ)言項(xiàng)目而晒,如果使用了 scanf 函數(shù),編譯時(shí)便會(huì)提示如下錯(cuò)誤:
error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
原因是Visual C++ 2012 使用了更加安全的 run-time library routines 阅畴。新的Security CRT functions(就是那些帶有“_s”后綴的函數(shù))倡怎。改進(jìn)方法鏈接如下:http://www.cnblogs.com/gb2013/archive/2013/03/05/SecurityEnhancementsInTheCRT.html
2.int的范圍:
測(cè)試時(shí)如果數(shù)據(jù)太大會(huì)出現(xiàn)負(fù)數(shù)等等,這個(gè)在數(shù)字邏輯課上解釋過贱枣,超過了int的范圍监署。至于這個(gè)范圍是多少,知乎這里給了一個(gè)解釋:
c標(biāo)準(zhǔn)里面只定義了int的最小寬度纽哥,所以這個(gè)范圍就完全依賴于編譯器的實(shí)現(xiàn)了钠乏。
請(qǐng)看c99的 5.2.4.2.1
Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.
minimum value for an object of type int
INT_MIN -32767 // -(2^15 - 1)
作者:Pagefault
鏈接:https://www.zhihu.com/question/19580654/answer/12283278
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)春塌,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處晓避。