ACM模式下算法题输入输出攻略【C++】

06-02 619阅读

文章目录

    • @[TOC]
    • 1. 核心代码模式与ACM模式
      • 1.1 ACM模式介绍
      • 1.2 注意事项
      • 2. C++常用的输入输出方法
          • 2.1 输入
            • 2.1.1 `cin`
            • 注意事项
            • 2.1.2 `getline()`
            • 注意事项
            • 2.1.3 `getchar()`
            • 注意事项
            • 2.2 输出
            • 3. 案例
              • 3.1 一维数组输入
                • 3.1.1 固定长度的一维数组
                • 3.1.2 不固定长度的一维数组
                • 3.2 二维数组输入
                  • 3.2.1 常规模式的二维数组输入
                  • 3.2.2 每行数据用逗号分隔的二维数组输入
                  • 3.3 字符串输入
                    • 3.3.1 单字符串输入
                    • 3.3.2 多字符串输入(固定个数)
                    • 3.3.3 多字符串输入(不固定个数)
                    • 3.3.4 字符串转整数数组
                    • 4. ACM模式练习平台
                      • 4.1 练习平台推荐
                      • 4.2 实战平台案例
                      • 5. 常见数据结构定义
                        • 5.1 链表
                        • 5.2 二叉树

八月份快结束了,秋招提前批和秋招也陆续开始了。在一般大厂笔试中都会要求手撕算法,如果算法正确,最后输出的时候没解决好就很吃亏啦~所以今天这篇文章带你详细理解核心代码模式与ACM模式下需要注意的事项。

1. 核心代码模式与ACM模式

1.1 ACM模式介绍

在编程竞赛和笔试中,ACM模式是常见的要求,它需要我们编写完整的程序来处理输入输出。与平台上的核心代码模式不同,ACM模式通常要求我们处理标准输入输出并完整实现解决方案。核心代码模式只需要提交核心算法部分(通常是某一个函数),而ACM模式需要处理整个程序(包括main函数),包括输入输出和其他程序结构。

1.2 注意事项

  1. 笔试平台熟悉度:熟悉常见的笔试平台(如牛客网、赛码)可以帮助你更好地应对笔试中的输入输出要求。
  2. 自定义测试用例的重要性:有些笔试,会让咱们自己设计测试用例, 平时在练习的时候也要注意一下。在编写算法时,自定义测试用例可以帮助你验证代码的正确性。设计测试用例时,应考虑不同的输入场景和边界条件。
  3. 面试中的输入输出和测试用例要求:面试官可能会要求你在编写代码后自定义测试用例以验证代码的正确性,因此掌握输入输出处理技巧非常重要。

面试手撕代码的几种形式:

1.平台类

去面试官给定的平台上去面试,上面可以编写代码,调试和运行,这些平台有的写好了函数框架,有的是白板,需要自己写全部内容

2.自己的IDE

面试官要求候选人打开自己的ide,并共享桌面进行编写,这种肯定是要自己写全输入输出了

3.要求补齐测试用例

有些面试官,比如微软的面试官,可能会让你写完代码后,自己设计尽可能全面的测试用例,对你编写的代码进行测试。

————————来源:牛客网

2. C++常用的输入输出方法

2.1 输入

在C++语言中,标准输入操作需要包含头文件。
以下是C++中常用的几种标准输入方法,以及它们的特点和使用方式。下面这列了几个常用的,熟练掌握下面这几个就够了,如果学有余力可以去官方文档查看更多的输入输出函数。

2.1.1 cin

cin是C++中最常用的标准输入流对象。它的基本原理是通过一个缓冲区(Buffer)来存储键盘输入的数据,cin则从这个缓冲区中读取数据。
注意事项:

  1. cin可以连续从键盘读取多个数据。
  2. cin以空格、Tab键和换行符作为输入的分隔符。
  3. cin从第一个非空白字符开始读取,直到遇到分隔符为止。

示例代码:

  • 单独读入一个数据:
    int num;
    cin >> num;
    cout 
        cin  nums[i];
    }
    // 输出读入的数组
    for(int i = 0; i >b){
        cout
        cout 
        cout 
        int n;
        cin  n; // 读取数组大小,例如3
        vector
            cin  nums[i];
        }
        
        // 输出读取的数组,验证输入是否正确
        for(int i = 0; i 
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码