草庐IT

C++输入输出练习

D-booker 2023-03-28 原文

? C++输入输出

目的:解决ACM模式下的输入输出问题
题目来源:牛客OJ练习场

第一题:计算多组a+b

输入描述:输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
输出描述:输出a+b的结果

示例
输入:
1 5
10 20
输出:
6
30

代码:

#include <iostream>

using namespace std;

int main() {
    int a, b;
    while (cin >> a >> b) {
        cout << a + b << endl;
    }
    return 0;
}

第二题:告知多少组,计算多组a+b

输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
输出描述:输出a+b的结果

示例
输入:
2
1 5
10 20
输出:
6
30

代码:

#include <iostream>

using namespace std;

int main() {
    int n, a, b;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a >> b;
        cout << a + b << endl;
    }
    return 0;
}

第三题:如果a、b都不为0,计算多组a+b

输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:输出a+b的结果

示例
输入:
1 5
10 20
0 0
输出:
6
30

代码:

#include <iostream>

using namespace std;

int main() {
    int a, b;
    while (cin >> a >> b && a != 0 || b != 0) {
        cout << a + b << endl;
    }
    return 0;
}

第四题:计算一系列数的和(第一个数为0时结束)

输入描述:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果

示例
输入:
4 1 2 3 4
5 1 2 3 4 5
0
输出:
10
15

代码:

#include <iostream>

using namespace std;

int main() {
    int n;
    while (cin >> n && n != 0) {
        int arr[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            cin >> arr[i];
        }
        for (int num : arr) {
            sum += num;
        }
        cout << sum << endl;
    }
    return 0;
}

第五题:计算一系列数的和(告知一共有几组)

输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果

示例
输入:
2
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15

代码:

#include <iostream>

using namespace std;

int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        int m;
        cin >> m;
        int arr[m];// 用作记录用,记录一下c++创建的数组数据,如果题目需要就可以用,实际这里并没有什么用的hhh;
        int sum = 0;
        for (int i = 0; i < m; i++) {
            cin >> arr[i];
            sum += arr[i];
        }
        cout << sum << endl;
    }
    return 0;
}

第六题:计算一系列数的和(不告知几组和何时结束,每一组第一个数为一共本组几个数)

输入描述:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果

示例
输入:
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15

代码:

#include <iostream>

using namespace std;

int main() {
    int n;
    while (cin >> n) {
        int arr[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            cin >> arr[i];
            sum += arr[i];
        }
        cout << sum << endl;
    }
    return 0;
}

第七题:计算一系列数的和(一行一组,不告诉一组几个,需要判断)

输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果

示例
输入:
1 2 3
4 5
0 0 0 0 0
输出:
6
9
0

代码:

#include <iostream>

using namespace std;

int main() {
    int sum = 0;
    int num;
    while (cin >> num) {
        sum += num;
        if (cin.get() == '\n') {
            cout << sum << endl;
            sum = 0;
        }
    }
    return 0;
}

第八题:字符串排序(只排一组,告诉有几个)

输入描述:
输入有两行,第一行n
第二行是n个空格隔开的字符串
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格

示例
输入:
5
c d a bb e
输出:
a bb c d e

代码:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n;
    cin >> n;
    vector<string> vec(n);
    for (int i = 0; i < n; i++) {
        string s;
        cin >> s;
        vec[i] = s;
    }
    sort(vec.begin(), vec.end());//用这个排序就行
    for (string s: vec) {
        cout << s << " ";
    }
    return 0;
}

第九题:字符串排序(排列多组,有结束符)
输入描述:
多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

示例
输入:
a c bb
f dddd
nowcoder
输出:
a bb c
dddd f
nowcoder

代码:

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

int main() {
    vector<string> vec;
    string s;
    while (cin >> s) {
        vec.emplace_back(s);
        if (cin.get() == '\n') {
            sort(vec.begin(), vec.end());
            for (int i = 0; i < vec.size() - 1; i++) cout << vec[i] << " "; 
            cout << vec[vec.size() - 1] << endl;//最后一个元素不带空格(本题也可以带空格),直接换行
            vec.clear();
        }
    }
    return 0;
}

第十题:字符串排序(输入用逗号分开)

输入描述:
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格

示例
输入:
a,c,bb
f,dddd
nowcoder
输出:
a,bb,c
dddd,f
nowcoder

采用substr函数

代码:

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

int main() {
    string s;
    while (cin >> s) {
        vector<string> vec;
        int cur = 0;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == ',') { //遇到","就拷贝部分字符串
                vec.emplace_back(s.substr(cur, i - cur));
                cur = i + 1;
            }
        }
        vec.emplace_back(s.substr(cur, s.size() - cur));
        //排序输出
        sort(vec.begin(), vec.end());
        for (int i = 0; i < vec.size() - 1; i++) {
            cout << vec[i] << ",";
        }
        cout << vec[vec.size() - 1] << endl;
    }
    return 0;
}

第十一题:一个很长的提示

依然是求a+b,不过要用long int/ long long int! 看数据量范围
这个题很明显告诉我们:请先不要怀疑系统和题目,一定要检查自己的代码!

代码:

#include <iostream>

using namespace std;

int main() {
    long long a, b;
    while (cin >> a >> b) {
        cout << a + b << endl;
    }
    return 0;
}

有关C++输入输出练习的更多相关文章

  1. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  2. ruby - 通过 erb 模板输出 ruby​​ 数组 - 2

    我正在使用puppet为ruby​​程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby​​不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这

  3. ruby - 如何进行排列以有效地定制输出 - 2

    这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][

  4. ruby - 将 spawn() 的标准输出/标准错误重定向到 Ruby 中的字符串 - 2

    我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])

  5. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  6. ruby - Ruby 是否使用 $stdout 来写入 puts 和 return 的输出? - 2

    我想知道Ruby用来在命令行打印这些东西的输出流:irb(main):001:0>a="test"=>"test"irb(main):002:0>putsatest=>nilirb(main):003:0>a=>"test"$stdout是否用于irb(main):002:0>和irb(main):003:0>?而且,在这两次调用之间,$stdout的值是否有任何变化?另外,有人能告诉我打印/写入这些内容的Ruby源代码吗? 最佳答案 是的。而且很容易向自己测试/证明。在命令行试试这个:ruby-e'puts"foo"'>test.

  7. ruby-on-rails - 无法在 Rails 助手中捕获 block 的输出 - 2

    我在使用自定义RailsFormBuilder时遇到了问题,从昨天晚上开始我就发疯了。基本上我想对我的构建器方法之一有一个可选block,以便我可以在我的主要content_tag中显示其他内容。:defform_field(method,&block)content_tag(:div,class:'field')doconcatlabel(method,"Label#{method}")concattext_field(method)capture(&block)ifblock_given?endend当我在我的一个Slim模板中调用该方法时,如下所示:=f.form_field:e

  8. ruby - 鸭子输入字符串、符号和数组的优雅方式? - 2

    这是针对我无法破坏的现有公共(public)API,但我确实希望对其进行扩展。目前,该方法采用字符串或符号或任何其他在作为第一个参数传递给send时有意义的内容我想添加发送字符串、符号等列表的功能。我可以只使用is_a吗?数组,但还有其他发送列表的方法,这不是很像ruby​​。我将调用列表中的map,所以第一个倾向是使用respond_to?:map。但是字符串也会响应:map,所以这行不通。 最佳答案 如何将它们全部视为数组?String的行为与仅包含String的Array相同:deffoo(obj,arg)[*arg].eac

  9. ruby-on-rails - 连接字符串时如何在 <%=%> block 内输出 html_safe? - 2

    考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://

  10. ruby - 捕获 Ruby Logger 输出以进行测试 - 2

    我有一个像这样的ruby​​类:require'logger'classTdefdo_somethinglog=Logger.new(STDERR)log.info("Hereisaninfomessage")endend测试脚本行如下:#!/usr/bin/envrubygem"minitest"require'minitest/autorun'require_relative't'classTestMailProcessorClasses当我运行这个测试时,out和err都是空字符串。我看到消息打印在stderr上(在终端上)。有没有办法让Logger和capture_io一起玩得

随机推荐