最近一直在看一些筆試程式設計的題目,作為乙個程式設計菜鳥,很多時候都卡在了輸入輸出階段,收集整理一下,以備不時之需。 採取的程式語言是c++(很喜歡stl模板,比較省事,自己對與一些定義還不熟練吧)。
可以看到,同一般的輸入不同,這裡沒有給出有多少組測試用例,但是每個用例都是一行,so~
輸入:
string s;
while(cin>>s)
算是乙個比較簡略的處理方法,因為此時每行都沒有空格等特殊字元,並且一行為乙個測試用例
輸入描述:
第一行乙個數t(t ≤ 100),表示資料組數。對於每組資料,第一行兩個數n,k(1 ≤ n,k <=100),接下來一行有2n個數a1輸出描述:,a2,
...,
a2n (1 ≤ ai
≤ 1000000000)。
對於每組資料,輸出一行,最終的序列。數字之間用空格隔開,不要在行末輸出多餘的空格。輸入例子:
3輸出例子:3 1
1 2 3 4 5 6
3 2
1 2 3 4 5 6
2 2
1 1 1 1
1 4 2 5 3 6此時,我們對應的輸入可以是:1 5 4 3 2 6
1 1 1 1
int t;//t組資料
int n,k;
cin>>t;
for(int i=0;icin>>n>>k;
vector
a(2*n);//初始化個數
for(int j=0;j<2*n;j++)
//下一步操作
}
這裡我們用到了vector這個物件,可以當成是乙個可變長度的陣列,如果陣列的大小不知道,利用vector還蠻方便。
此時的輸入為:
int m;
cin>>m;
vector
> a(m,vector
(m));
for(int i=0;ifor(int j=0;jcin>>a[i][j];}}
很多時候,輸入的陣列不僅時字串,還有整數,例如:
輸入描述:
一行整數序列,數字用空格分隔,如:1 4 -1 3 5 6 2我一般採取的方法是:
int tmp;
vector
v;while(cin>>tmp)
當然還有更加複雜的情況,例如:
輸入第一行為整數序列,陣列用空格分隔,如:45 67 33 21乙個可行的方式是:輸入第二行為乙個整數k,k在陣列長度範圍內,如:2
char c;
int k,tmp;
vector
v;while((c=getchar())!='\n')
}cin>>k;
暫時就這些啦,之後再補 筆試的那些事兒(一)
今天學校組織了2011屆畢業生招聘會,到會公司有天津企業將近300家,非天津企業將近200家。雖然看數字挺龐大的,其實裡邊沒有多少好公司。去了以後有點後悔沒有籤富士康,這個就不提了。還是講講今天招聘會吧!早晨7點起床,洗漱完畢後,重新去列印了10份簡歷。8點坐649 學校比較偏,算是校車吧 去本部南...
鏈結那些事兒
鏈結,就是將不同部分的 和資料收集和組合成為乙個單一檔案的過程,這個檔案可被載入到儲存器中執行。鏈結可以執行於編譯時 compile time 也就是源 被翻譯成機器 時 eg.普通的鏈結器鏈結,以及靜態鏈結庫,由靜態鏈結器鏈結 也可以執行於載入時 例如動態鏈結庫的載入時鏈結 也可以執行於執行時 r...
指標那些事兒
1.野指標 也叫懸擺指標,迷失指標 野指標是導致bug的罪魁禍首之一。對指標呼叫delete後 釋放掉了它指向的記憶體,野指標還是指向原來的位址 如果沒有重新賦值就使用它,將導致難以預料的後果。因為此時操作野指標,它指向的記憶體位址可能已經分配給其他變數在使用了。所以指標在delete之後,如果不再...