>a>>b){//...}2.輸入不說明有多少個(gè)Input,以某個(gè)特殊輸入為結(jié)束標(biāo)志C++//示例1inta,b;while(cin>>a>>b){if(a==0&&b==0)break;//...}//示例2intn;whi" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

算法與數(shù)據(jù)結(jié)構(gòu)(十四):IO 模板總結(jié)(C++ & Python)

系統(tǒng) 2102 0

不少網(wǎng)絡(luò)筆試不像 LeetCode 幫你完成 I/O,需要手動(dòng)完成;個(gè)人深受其痛,現(xiàn)將常用的 IO 模板總結(jié)與此,分別總結(jié)了 C/C++ 和 Python 代碼

1. 輸入不說明有多少個(gè) Input,以 EOF 為結(jié)束標(biāo)志

C++

            
              
                int
              
               a
              
                ,
              
               b
              
                ;
              
              
                while
              
              
                (
              
              cin 
              
                >>
              
               a 
              
                >>
              
               b
              
                )
              
              
                {
              
              
                // ...
              
              
                }
              
            
          

2. 輸入不說明有多少個(gè) Input,以某個(gè)特殊輸入為結(jié)束標(biāo)志

C++

            
              
                // 示例 1
              
              
                int
              
               a
              
                ,
              
               b
              
                ;
              
              
                while
              
              
                (
              
              cin 
              
                >>
              
               a 
              
                >>
              
               b
              
                )
              
              
                {
              
              
                if
              
              
                (
              
              a 
              
                ==
              
              
                0
              
              
                &&
              
               b 
              
                ==
              
              
                0
              
              
                )
              
              
                break
              
              
                ;
              
              
                // ...
              
              
                }
              
              
                // 示例 2
              
              
                int
              
               n
              
                ;
              
              
                while
              
              
                (
              
              cin 
              
                >>
              
               n 
              
                &&
              
               n 
              
                !=
              
              
                0
              
              
                )
              
              
                {
              
              
                // ...
              
              
                }
              
            
          

3. 指示有 N 個(gè) Input

C++

            
              
                int
              
               n
              
                ;
              
              
    cin 
              
                >>
              
               n
              
                ;
              
              
                int
              
               a
              
                ,
              
               b
              
                ;
              
              
                while
              
              
                (
              
              n
              
                --
              
              
                )
              
              
                {
              
              
        cin 
              
                >>
              
               a 
              
                >>
              
               b
              
                ;
              
              
                }
              
            
          

Python3

            
              n 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                )
              
              
                )
              
              
                for
              
               _ 
              
                in
              
              
                range
              
              
                (
              
              n
              
                )
              
              
                :
              
              
                # ...
              
            
          

4. 指示有 N 組輸入,并以某個(gè)特殊輸入退出

C/C++

            
              
                int
              
               n
              
                ;
              
              
                while
              
              
                (
              
              cin 
              
                >>
              
               n 
              
                &&
              
               n 
              
                !=
              
              
                0
              
              
                )
              
              
                {
              
              
                int
              
               a
              
                ,
              
               b
              
                ;
              
              
                for
              
              
                (
              
              
                int
              
               i 
              
                =
              
              
                0
              
              
                ;
              
               i 
              
                <
              
               n
              
                ;
              
               i
              
                ++
              
              
                )
              
              
                {
              
              
            cin 
              
                >>
              
               a 
              
                >>
              
               b
              
                ;
              
              
                // ...
              
              
                }
              
              
                }
              
            
          

5. 輸入是一整行(包括空格)

用 char[] 接收(C/C++)

            
              
                const
              
              
                int
              
               MAXN 
              
                =
              
              
                1000
              
              
                ;
              
              
                char
              
               buff
              
                [
              
              MAXN
              
                ]
              
              
                ;
              
              
                // C
              
              
                gets
              
              
                (
              
              buff
              
                )
              
              
                ;
              
              
                puts
              
              
                (
              
              buff
              
                )
              
              
                ;
              
              
                // 輸出
              
              
                // C++
              
              
    cin
              
                .
              
              
                getline
              
              
                (
              
              buff
              
                ,
              
               MAXN
              
                )
              
              
                ;
              
              
                // 第三個(gè)參數(shù)默認(rèn)是 '\n'
              
              
    cin
              
                .
              
              
                getline
              
              
                (
              
              buff
              
                ,
              
               MAXN
              
                ,
              
              
                '\n'
              
              
                )
              
              
                ;
              
            
          

用 string 接收(C++)

            
                  string s
              
                ;
              
              
                getline
              
              
                (
              
              cin
              
                ,
              
               s
              
                )
              
              
                ;
              
              
                // 第三個(gè)參數(shù)默認(rèn)是 '\n'
              
              
                getline
              
              
                (
              
              cin
              
                ,
              
               s
              
                ,
              
              
                '\n'
              
              
                )
              
              
                ;
              
            
          

6. 輸入是多行(包括空格)

C++

            
              
                int
              
               n
              
                ;
              
              
    cin 
              
                >>
              
               n
              
                ;
              
              
    cin
              
                .
              
              
                get
              
              
                (
              
              
                )
              
              
                ;
              
              
                // 否則,n 也會(huì)計(jì)入下面的 getline(),導(dǎo)致少一組數(shù)據(jù)
              
              
                while
              
              
                (
              
              n
              
                --
              
              
                )
              
              
                {
              
              
        string s
              
                ;
              
              
                getline
              
              
                (
              
              cin
              
                ,
              
               s
              
                )
              
              
                ;
              
              
                }
              
            
          

7. 從文件讀取

C++

            
                  ifstream 
              
                fin
              
              
                (
              
              
                "in.txt"
              
              
                )
              
              
                ;
              
              
    ofstream 
              
                fout
              
              
                (
              
              
                "out.txt"
              
              
                )
              
              
                ;
              
              
                int
              
               a
              
                ,
              
               b
              
                ;
              
              
                while
              
              
                (
              
              fin 
              
                >>
              
               a 
              
                >>
              
               b
              
                )
              
              
                {
              
              
        fout 
              
                <<
              
               a 
              
                +
              
               b 
              
                <<
              
               endl
              
                ;
              
              
                }
              
              
    
    fin
              
                .
              
              
                close
              
              
                (
              
              
                )
              
              
                ;
              
              
    fout
              
                .
              
              
                close
              
              
                (
              
              
                )
              
              
                ;
              
            
          

8. Python IO 模板

在筆試時(shí),有時(shí)候用 Python 進(jìn)行數(shù)據(jù)處理比 C++ 要方便很多,但是如何能夠順利地讀入數(shù)據(jù)呢?如果使用input(),那么輸入時(shí)不能有空格分割,這不是我們想要的。 比如我們需要一次讀取一行,可以使用sys.stdin.

            
              
                for
              
               line 
              
                in
              
               sys
              
                .
              
              stdin
        
              
                #operate(line)
              
              
                #print(line)
              
            
          

這樣可以一次讀取一整行。 也可以這樣做:

            
              
                while
              
              
                True
              
              
                :
              
              
        line 
              
                =
              
               sys
              
                .
              
              stdin
              
                .
              
              readline
              
                (
              
              
                )
              
              
                #operate(line)
              
              
                #print(line)
              
              
                if
              
               line 
              
                ==
              
              
                ''
              
              
                break
              
            
          

還有,如果在輸出時(shí),print 的換行很不好用的話,可以使用sys.stdout.write(),這樣容易控制整個(gè)輸出。

            
              
                def
              
              
                test
              
              
                (
              
              
                )
              
              
                :
              
              
        N 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                )
              
              
                )
              
              
        inputlist 
              
                =
              
              
                [
              
              
                ]
              
              
        area 
              
                =
              
              
                0
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              N
              
                )
              
              
                :
              
              
            line 
              
                =
              
              
                input
              
              
                (
              
              
                )
              
              
            line_res 
              
                =
              
               rule
              
                (
              
              line
              
                )
              
              
                print
              
              
                (
              
              line_res
              
                )
              
            
          

9. 牛客網(wǎng) IO 模板

            
              
                def
              
              
                insert_sort2
              
              
                (
              
              
                )
              
              
                :
              
              
    N 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                )
              
              
                )
              
              
    str_input 
              
                =
              
              
                input
              
              
                (
              
              
                )
              
              
    ary 
              
                =
              
              
                list
              
              
                (
              
              
                map
              
              
                (
              
              
                int
              
              
                ,
              
               str_input
              
                .
              
              split
              
                (
              
              
                )
              
              
                )
              
              
                )
              
              
                # count = len(ary)
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                1
              
              
                ,
              
               N
              
                )
              
              
                :
              
              
        key 
              
                =
              
               i 
              
                -
              
              
                1
              
              
        mark 
              
                =
              
               ary
              
                [
              
              i
              
                ]
              
              
                # 注: 必須將ary[i]賦值為mark,不能直接用ary[i]
              
              
                while
              
               key 
              
                >=
              
              
                0
              
              
                and
              
               ary
              
                [
              
              key
              
                ]
              
              
                >
              
               mark
              
                :
              
              
                if
              
              
                (
              
              ary
              
                [
              
              key
              
                ]
              
              
                +
              
               mark
              
                )
              
              
                %
              
              
                2
              
              
                ==
              
              
                1
              
              
                :
              
              
                ary
              
                [
              
              key 
              
                +
              
              
                1
              
              
                ]
              
              
                =
              
               ary
              
                [
              
              key
              
                ]
              
              
            key 
              
                -=
              
              
                1
              
              
        ary
              
                [
              
              key 
              
                +
              
              
                1
              
              
                ]
              
              
                =
              
               mark
    res 
              
                =
              
              
                sorted
              
              
                (
              
              ary
              
                )
              
              
                return
              
               res

            
          

9.1 單行輸入

算法與數(shù)據(jù)結(jié)構(gòu)(十四):IO 模板總結(jié)(C++ & Python)_第1張圖片

算法與數(shù)據(jù)結(jié)構(gòu)(十四):IO 模板總結(jié)(C++ & Python)_第2張圖片
C++

            
              
                // 本題為考試單行多行輸入輸出規(guī)范示例,無需提交,不計(jì)分。
              
              
                #
                
                  include
                
                
                  
                
              
              
                using
              
              
                namespace
              
               std
              
                ;
              
              
                int
              
              
                main
              
              
                (
              
              
                )
              
              
                {
              
              
                int
              
               a
              
                ,
              
              b
              
                ;
              
              
                while
              
              
                (
              
              cin 
              
                >>
              
               a 
              
                >>
              
               b
              
                )
              
              
                // 注意,如果輸入是多個(gè)測(cè)試用例,請(qǐng)通過while循環(huán)處理多個(gè)測(cè)試用例
              
              
        cout 
              
                <<
              
               a
              
                +
              
              b 
              
                <<
              
               endl
              
                ;
              
              
                }
              
            
          

Python

            
              
                #coding=utf-8
              
              
                # 本題為考試單行多行輸入輸出規(guī)范示例,無需提交,不計(jì)分。
              
              
                import
              
               sys 

              
                for
              
               line 
              
                in
              
               sys
              
                .
              
              stdin
              
                :
              
              
    a 
              
                =
              
               line
              
                .
              
              split
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                int
              
              
                (
              
              a
              
                [
              
              
                0
              
              
                ]
              
              
                )
              
              
                +
              
              
                int
              
              
                (
              
              a
              
                [
              
              
                1
              
              
                ]
              
              
                )
              
              
                )
              
            
          
            
              n 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                )
              
              
                )
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              n
              
                )
              
              
                :
              
              
	values 
              
                =
              
              
                list
              
              
                (
              
              
                map
              
              
                (
              
              
                int
              
              
                ,
              
              
                input
              
              
                (
              
              
                )
              
              
                .
              
              strip
              
                (
              
              
                )
              
              
                .
              
              split
              
                (
              
              
                )
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              values
              
                [
              
              
                0
              
              
                ]
              
              
                +
              
               values
              
                [
              
              
                1
              
              
                ]
              
              
                )
              
            
          

9.2 多行輸入

算法與數(shù)據(jù)結(jié)構(gòu)(十四):IO 模板總結(jié)(C++ & Python)_第3張圖片

算法與數(shù)據(jù)結(jié)構(gòu)(十四):IO 模板總結(jié)(C++ & Python)_第4張圖片
C++

            
              
                // 本題為考試多行輸入輸出規(guī)范示例,無需提交,不計(jì)分。
              
              
                #
                
                  include
                
                
                  
                
              
              
                #
                
                  include
                
                
                  
                
              
              
                using
              
              
                namespace
              
               std
              
                ;
              
              
                int
              
              
                main
              
              
                (
              
              
                )
              
              
                {
              
              
                //freopen("1.in","r",stdin);
              
              
                int
              
               n
              
                ,
              
              ans 
              
                =
              
              
                0
              
              
                ;
              
              
    cin 
              
                >>
              
               n
              
                ;
              
              
                for
              
              
                (
              
              
                int
              
               i 
              
                =
              
              
                0
              
              
                ;
              
               i 
              
                <
              
               n
              
                ;
              
               i
              
                ++
              
              
                )
              
              
                {
              
              
                for
              
              
                (
              
              
                int
              
               j 
              
                =
              
              
                0
              
              
                ;
              
               j 
              
                <
              
               n
              
                ;
              
               j
              
                ++
              
              
                )
              
              
                {
              
              
                int
              
               x
              
                ;
              
              
                scanf
              
              
                (
              
              
                "%d"
              
              
                ,
              
              
                &
              
              x
              
                )
              
              
                ;
              
              
            ans 
              
                +
              
              
                =
              
               x
              
                ;
              
              
                }
              
              
                }
              
              
    cout 
              
                <<
              
               ans 
              
                <<
              
               endl
              
                ;
              
              
                return
              
              
                0
              
              
                ;
              
              
                }
              
            
          

Python

            
              
                #coding=utf-8
              
              
                # 本題為考試多行輸入輸出規(guī)范示例,無需提交,不計(jì)分。
              
              
                import
              
               sys

              
                if
              
               __name__ 
              
                ==
              
              
                "__main__"
              
              
                :
              
              
                # 讀取第一行的n
              
              
    n 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                )
              
              
                )
              
              
    ans 
              
                =
              
              
                0
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              n
              
                )
              
              
                :
              
              
                # 讀取每一行
              
              
        line 
              
                =
              
              
                input
              
              
                (
              
              
                )
              
              
                # 或者 line = sys.stdin.readline()
              
              
                # 把每一行的數(shù)字分隔后轉(zhuǎn)化成int列表
              
              
        values 
              
                =
              
              
                list
              
              
                (
              
              
                map
              
              
                (
              
              
                int
              
              
                ,
              
               line
              
                .
              
              strip
              
                (
              
              
                )
              
              
                .
              
              split
              
                (
              
              
                )
              
              
                )
              
              
                )
              
              
                for
              
               v 
              
                in
              
               values
              
                :
              
              
            ans 
              
                +=
              
               v
    
              
                print
              
              
                (
              
              ans
              
                )
              
            
          

注:有一些時(shí)候 牛客網(wǎng)要求輸出多行,每行結(jié)果對(duì)應(yīng)一個(gè) testcase 輸入處理,這種情況下可以直接在 main 函數(shù)中進(jìn)行 for 循環(huán)調(diào)用函數(shù),輸出結(jié)果。

參考文獻(xiàn)

[1] Python IO 模板
[2] 備忘-IO 模板
[3] 牛客網(wǎng)標(biāo)準(zhǔn)輸入輸出


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久中文字幕不卡一二区 | 在线播放一区二区三区 | 天天搞夜夜操 | 91香焦视频 | 国亚洲欧美日韩精品 | 国产在线视频2019最新视频 | 狠狠色噜噜狠狠狠狠97老肥女 | 日本成人中文字幕 | 性69式视频在线观看免费 | 毛片网站大全 | 精品一区二区免费视频 | www.在线播放| 欧美精品38videos性欧美 | 国产精品极品美女在线观看免费 | 欧美黄色片在线观看 | 久久久久久91香蕉国产 | jizzjizz视频| 亚洲精品国产成人一区二区 | 国产伦精品一区二区三区精品视频 | chengrenzaixian| 成人免费黄色 | 毛片免费在线观看 | 国产成人18黄禁网站免费观看 | 久久99热成人精品国产 | 看免费大片 | 久久久久毛片成人精品 | 亚洲激情视频 | 香蕉18xxoo欧美夜视频 | 91亚洲精品一区二区福利 | 亚洲婷婷综合中文字幕第一页 | 久久精品草 | 亚州久久| 色综合天天综一个色天天综合网 | 日韩成人av在线播放 | 成人免费观看www视频 | 亚洲人成在线观看一区二区 | 亚洲AV国产成人精品区三上 | 日本中文字幕在线视频 | 极品白嫩无套视频在线播放张悠雨 | a毛片成人免费全部播放 | 三及片在线观看 |