牛客C++輸入輸出總結(jié)

https://ac.nowcoder.com/acm/contest/5657#question

C++輸入輸出

字符串和數(shù)字轉(zhuǎn)換

https://zhuanlan.zhihu.com/p/188390082

atoi(str)
stoi(str)
to_string(int)
C++如何逆序排序呢膜眠?
1.先reverse
2.寫新的函數(shù)
3.end,begin??

1.循環(huán)輸入兩個(gè)數(shù)相加

輸入描述:
輸入包括兩個(gè)正整數(shù)a,b(1 <= a, b <= 10^9),輸入數(shù)據(jù)包括多組。
輸出描述:
輸出a+b的結(jié)果
輸入例子1:
1 5
10 20
輸出例子1:
6
30
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int a,b;
    while(cin>>a>>b){
        cout<<a+b<<endl;
    }

    return 0;
}

2.先輸入案例數(shù),再輸入案例

計(jì)算a+b

打開(kāi)以下鏈接可以查看正確的代碼

輸入描述:
輸入第一行包括一個(gè)數(shù)據(jù)組數(shù)t(1 <= t <= 100)
接下來(lái)每行包括兩個(gè)正整數(shù)a,b(1 <= a, b <= 10^9)
輸出描述:
輸出a+b的結(jié)果
輸入例子1:
2
1 5
10 20
輸出例子1:
6
30
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int nums;
    cin>>nums;
    for(int i=0;i<nums;i++){
        int a,b;
        cin>>a>>b;
        cout<<a+b<<endl;
    }
    
    return 0;
}

3.

輸入描述:
輸入包括兩個(gè)正整數(shù)a,b(1 <= a, b <= 10^9),輸入數(shù)據(jù)有多組, 如果輸入為0 0則結(jié)束輸入
輸出描述:
輸出a+b的結(jié)果
輸入例子1:
1 5
10 20
0 0
輸出例子1:
6
30
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    long a,b;
    while(1){
        cin>>a>>b;
        if(a+b==0)
            return 0;
        cout<<a+b<<endl;
        
    }
    
    return 0;
}

4.

輸入描述:
輸入數(shù)據(jù)包括多組宵膨。
每組數(shù)據(jù)一行,每行的第一個(gè)整數(shù)為整數(shù)的個(gè)數(shù)n(1 <= n <= 100), n為0的時(shí)候結(jié)束輸入架谎。
接下來(lái)n個(gè)正整數(shù),即需要求和的每個(gè)正整數(shù)。
輸出描述:
每組數(shù)據(jù)輸出求和的結(jié)果
輸入例子1:
4 1 2 3 4
5 1 2 3 4 5
0
輸出例子1:
10
15
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int nums;
    cin>>nums;
    while(nums!=0){
        int addres=0;
        int tmp;
        for(int i=0;i<nums;i++){
            cin>>tmp;
            addres+=tmp;
        }
        cout<<addres<<endl;
        cin>>nums;
    }
    
    return 0;
}

5.

輸入描述:
輸入的第一行包括一個(gè)正整數(shù)t(1 <= t <= 100), 表示數(shù)據(jù)組數(shù)辟躏。
接下來(lái)t行, 每行一組數(shù)據(jù)谷扣。
每行的第一個(gè)整數(shù)為整數(shù)的個(gè)數(shù)n(1 <= n <= 100)。
接下來(lái)n個(gè)正整數(shù), 即需要求和的每個(gè)正整數(shù)捎琐。
輸出描述:
每組數(shù)據(jù)輸出求和的結(jié)果
輸入例子1:
2
4 1 2 3 4
5 1 2 3 4 5
輸出例子1:
10
15
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int nums;
    cin>>nums;
    for(int i=0;i<nums;i++){
        int jlen;
        cin>>jlen;
        int addres=0;
        int tmp;
        for(int j=0;j<jlen;j++){
            cin>>tmp;
            addres+=tmp;
        }
        cout<<addres<<endl;
    }
    
    return 0;
}

6.循環(huán)輸入案例

輸入描述:
輸入數(shù)據(jù)有多組, 每行表示一組輸入數(shù)據(jù)会涎。
每行的第一個(gè)整數(shù)為整數(shù)的個(gè)數(shù)n(1 <= n <= 100)。
接下來(lái)n個(gè)正整數(shù), 即需要求和的每個(gè)正整數(shù)瑞凑。
輸出描述:
每組數(shù)據(jù)輸出求和的結(jié)果
輸入例子1:
4 1 2 3 4
5 1 2 3 4 5
輸出例子1:
10
15
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int a,b;
    while(cin>>a){
        int sumres=0;
        for(int i=0;i<a;i++){
            cin>>b;
            sumres+=b;
        }
        cout<<sumres<<endl;
    }
    
    return 0;
}

7.完全不告訴有多少個(gè)案例末秃,靠空行

輸入描述:
輸入數(shù)據(jù)有多組, 每行表示一組輸入數(shù)據(jù)。

每行不定有n個(gè)整數(shù)籽御,空格隔開(kāi)蛔溃。(1 <= n <= 100)。

輸出描述:
每組數(shù)據(jù)輸出求和的結(jié)果

輸入例子1:
1 2 3
4 5
0 0 0 0 0

輸出例子1:
6
9
0

1)通過(guò)cin.get=='\n'得到

cin.get()是保留回車在輸入流隊(duì)列中的篱蝇,

而cin是丟棄回車的贺待。

#include<iostream>
using namespace std;
 
int main()
{
    int temp,sum;
      
    while(cin>>temp)
    {  
        sum+=temp;
        if(cin.get()=='\n')////cin.get()是保留回車在輸入流隊(duì)列中的,可以識(shí)別空行和回車,正常輸入后一定會(huì)有空格和回車
        {
            cout<<sum<<endl;//它必須在每行的循環(huán)體中零截,每行輸出一個(gè)麸塞;輸出條件為'\n'
            sum=0;//需要放在輸出后面,防止多行加在一起
        }
          
    }
 
}

2)使用getline(cin,s)涧衙,

stringstream 再輸出

需要加入頭 #include<bits/stdc++.h>

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
    
    string str;
    while(getline(cin,str)){
        stringstream s(str);
        int sum=0;
        int num=0;
        while(s>>num){
            sum+=num;
        }
        cout<<sum<<endl;
    }
    
    return 0;
}

8.字符串

輸入描述:
輸入有兩行哪工,第一行n

第二行是n個(gè)空格隔開(kāi)的字符串

輸出描述:
輸出一行排序后的字符串,空格隔開(kāi)弧哎,無(wú)結(jié)尾空格

輸入例子1:
5
c d a bb e

輸出例子1:
a bb c d e
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;

int main()
{
    int n;
    cin >> n;
    string s;
    vector<string>res;
    while (cin >> s)
    {
        res.push_back(s);

    }
    sort(res.begin(), res.end());
    for (int i = 0; i < n; i++)
    {
        cout << res[i] << ' ';
    }

}

9.

輸入描述:
多個(gè)測(cè)試用例雁比,每個(gè)測(cè)試用例一行。

每行通過(guò)空格隔開(kāi)撤嫩,有n個(gè)字符偎捎,n<100

輸出描述:
對(duì)于每組測(cè)試用例,輸出一行排序過(guò)的字符串序攘,每個(gè)字符串通過(guò)空格隔開(kāi)

輸入例子1:
a c bb
f dddd
nowcoder

輸出例子1:
a bb c
dddd f
nowcoder

cin.get()不是當(dāng)前cin的內(nèi)容茴她,而是下一個(gè)內(nèi)容。

cin.get()是保留回車在輸入流隊(duì)列中的程奠,

而cin是丟棄回車的丈牢。

#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    string s;
    vector<string> tmp;
    while(cin>>s){
        tmp.push_back(s);
        if(cin.get()=='\n'){
            if(tmp.size()>0){
                sort(tmp.begin(),tmp.end());
                for(int i=0;i<tmp.size();i++){
                    cout<<tmp[i]<<" ";
                }
                cout<<endl;
                tmp.clear();
            }
        }
    }
    
    return 0;
}

10.逗號(hào)分割字符串


輸入描述:
多個(gè)測(cè)試用例,每個(gè)測(cè)試用例一行瞄沙。
每行通過(guò),隔開(kāi)己沛,有n個(gè)字符慌核,n<100

輸出描述:
對(duì)于每組用例輸出一行排序后的字符串,用','隔開(kāi)申尼,無(wú)結(jié)尾空格

輸入例子1:
a,c,bb
f,dddd
nowcoder

輸出例子1:
a,bb,c
dddd,f
nowcoder

↓我的做法

#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    vector<string> tmp;
    string s;
    int begin=0;
    int len=0;
    while(getline(cin,s)){
        for(int i=0;i<s.length();i++){
            if(s[i]==','){
                tmp.push_back(s.substr(begin,len));
                begin=i+1;
                len=0;
            }else{
                len+=1;
            }
        }
        tmp.push_back(s.substr(begin,len));
        sort(tmp.begin(),tmp.end());
        for(int i=0;i<tmp.size()-1;i++){
            cout<<tmp[i]<<",";
        }
        cout<<tmp[tmp.size()-1]<<endl;
        tmp.clear();
        begin=0;
        len=0;
    }
    
    
    return 0;
}

看起來(lái)stringstream會(huì)更方便

#include <bits/stdc++.h>
using namespace std;

int main()
{
    string s;
    while(getline(cin, s)){
        stringstream str(s);
        string temp;
        vector<string> res;
        while(getline(str, temp,',')){
            res.push_back(temp);
        }
        sort(res.begin(), res.end());
        for(int i=0; i<res.size(); i++){
            if(i==res.size()-1){
                cout<<res[i]<<endl;
            }
            else{
                cout<<res[i]<<',';
            }
        }
    }
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末遂铡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子晶姊,更是在濱河造成了極大的恐慌扒接,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件们衙,死亡現(xiàn)場(chǎng)離奇詭異钾怔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蒙挑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門宗侦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人忆蚀,你說(shuō)我怎么就攤上這事矾利。” “怎么了馋袜?”我有些...
    開(kāi)封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵男旗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我欣鳖,道長(zhǎng)察皇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任泽台,我火速辦了婚禮什荣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怀酷。我一直安慰自己稻爬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布蜕依。 她就那樣靜靜地躺著桅锄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笔横。 梳的紋絲不亂的頭發(fā)上竞滓,一...
    開(kāi)封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音吹缔,去河邊找鬼。 笑死锯茄,一個(gè)胖子當(dāng)著我的面吹牛厢塘,可吹牛的內(nèi)容都是我干的茶没。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼晚碾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抓半!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起格嘁,我...
    開(kāi)封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤笛求,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后糕簿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體探入,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年懂诗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜂嗽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡殃恒,死狀恐怖植旧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情离唐,我是刑警寧澤病附,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站亥鬓,受9級(jí)特大地震影響胖喳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贮竟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一丽焊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咕别,春花似錦技健、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至偿短,卻和暖如春欣孤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昔逗。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工降传, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人勾怒。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓婆排,卻偏偏與公主長(zhǎng)得像声旺,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子段只,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356