首页 > 其他分享 >【ACM专项练习#01】基本输入输出,如何加减

【ACM专项练习#01】基本输入输出,如何加减

时间:2023-07-30 21:56:58浏览次数:40  
标签:输出 01 int 输入输出 样例 cin ACM while 输入

关于ACM,牛客其实也有专门的模拟练习:https://ac.nowcoder.com/acm/contest/5657#question
做这个也可以

关于while(cin>>n)

在处理输入时,cin >> n; while (n--) 和 while (cin >> n) 是两种常见方法

这里说一下区别

cin >> n; while (n--)

当你预先知道迭代次数,并希望根据该次数执行固定次数的任务时,请使用 cin >> n; while (n--)。

例题:处理n组数据输入、

while(cin>>n)

当你想从输入流中动态读取元素,直到输入结束或特定的终止条件时,可以使用 while (cin >> n)。

例如:奇怪的信

在这题中,输入数据有多组,具体由用户决定,这就导致我们得一直获取输入,直到用户不输入为止

输入两个值

输入两个值,以空格隔开

题目描述

你的任务是计算a+b。

输入

输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。

输出

对于输入的每对a和b,你需要依次输出a、b的和。

如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。

样例输入
3 4
11 40
样例输出
7
51
输入输出知识点

cin >> a >> b 用于输入 a 和 b 的两个独立值。该代码在 C++ 中用于从标准输入(通常是键盘)读取两个值,并将其存储到变量 a 和 b 中。

例如,如果输入 "10 "和 "20 "这两个以空格隔开的值,并按回车键,第一个值 "10 "将存储在变量 a 中,第二个值 "20 "将存储在变量 b 中。

代码
#include <iostream>

using namespace std;
int main(){
    int a, b;
    while(cin >> a >> b){
        cout << a + b << endl;
    }
}

输入n行数据

题目描述

计算a+b,但输入方式有所改变。

输入

第一行是一个整数N,表示后面会有N行a和b,通过空格隔开。

输出

对于输入的每对a和b,你需要在相应的行输出a、b的和。

如第二对a和b,对应的和也输出在第二行。

样例输入
2
2 4
9 21
样例输出
6
30
提示

注意,测试数据不仅仅一组。也就是说,会持续输入N以及后面的a和b

输入输出知识点

这里要练习的是有n行输入时的处理方法,输入的核心方法还是cin,但是要额外给一个输入n,通过while循环+n来控制输入数据的行数

代码
#include <iostream>

using namespace std;
int main(){
    int n, a, b;
    while(cin >> n){
        while(n--){//--n好像过不了测试用例
            cin >> a >> b;
            cout << a + b << endl;
        }
    }
}

输入判断

题目描述

你的任务依然是计算a+b。

输入

输入中每行是一对a和b。其中会有一对是0和0标志着输入结束,且这一对不要计算。

输出

对于输入的每对a和b,你需要在相应的行输出a、b的和。

如第二对a和b,他们的和也输出在第二行。

样例输入
2 4
11 19
0 0
样例输出
6
30
输入输出知识点

这里需要注意,使用while+cin时,代码会阻塞在while处等待输入的

因此这里需要进行判断,满足条件时中断循环(前面输入n行也是一种控制)

代码
#include <iostream>

using namespace std;
int main(){
    int a, b;
    while(cin >> a >> b){
        if(a == 0 && b == 0) break;
        cout << a + b << endl;
    }
}

输入若干值

指定n,每行有n个整数

题目描述

你的任务是计算若干整数的和。

输入

每行的第一个数N,表示本行后面有N个数。

如果N=0时,表示输入结束,且这一行不要计算。

输出

对于每一行数据需要在相应的行输出和。

样例输入
4 1 2 3 4
5 1 2 3 4 5
0 
样例输出
10
15
输入输出知识点

结合所给的n,控制输入数,然后不定个数的整数用累加即可

代码
#include <iostream>

using namespace std;
int main(){
    int n, num;
    while(cin >> n){
        if(n == 0) break;
        int sum = 0;
        while(n--){
            cin >> num;
            sum += num;
        }
        cout << sum << endl;
    }
}

控制输入行数和每行个数

题目描述

你的任务是计算若干整数的和。

输入

输入的第一行为一个整数N,接下来N行每行先输入一个整数M,然后在同一行内输入M个整数。

输出

对于每组输入,输出M个数的和,每组输出之间输出一个空行。

样例输入
3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3
样例输出
10

15

6
提示

注意以上样例为一组测试数据,后端判题会有很多组测试数据,也就是会有多个N的输入 例如输入可以是: 3 4 1 2 3 4 5 1 2 3 4 5 3 1 2 3 3 4 1 2 3 4 5 1 2 3 4 5 3 1 2 3 输入则是 10 15 6 10 15 6 只保证每组数据间是有空行的。但两组数据并没有空行

代码
#include <iostream>

using namespace std;
int main(){
    int n, m, num;
    while(cin >> n){
        while(n--){
            cin >> m;
            int sum = 0;
            while(m--){
                cin >> num;
                sum += num;
            }
            cout << sum << endl;
            if(n != 0) cout << endl;
        }
    }
}

标签:输出,01,int,输入输出,样例,cin,ACM,while,输入
From: https://www.cnblogs.com/DAYceng/p/17592113.html

相关文章

  • 【ACM专项练习#02】整行字符串、输入vector、打印图形、处理n组数据以及链表操作等
    输入整行字符串平均绩点题目描述每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。输入有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。输出每组输出结果占一行。如果输入的大......
  • [GUET-CTF2019]number_game
    [GUET-CTF2019]number_game  打开题目,立刻定位关键函数for(i=0;i<=4;++i){for(j=0;j<=4;++j){for(k=j+1;k<=4;++k){if(*(&unk_601060+5*i+j)==*(&unk_601060+5*i+k))......
  • games101 HomeWork6
    Games101HomeWork6导航导航作业要求IntersectP(constRay&ray,constVector3f&invDir,conststd::array<int,3>&dirIsNeg)intheBounds3.hpp:这个函数的作用是判断包围盒BoundingBox与光线是否相交,你需要按照课程介绍的算法实现求交过程。getIntersection(BVHBuil......
  • vivado生成Bitstream报错[Vivado 12-1345] Error(s) found during DRC. Bitgen not ru
    写了一个很简单的程序,2-4译码器。moduledecoder2to4(inputin1,in0,outputreg[3:0]out);always@(*)beginif({in1,in0}==2'b00)out=4'b1111;elseif({in1,in0}==2'b01)out=4......
  • Windows漏洞CVE-2019-0708
    Windows漏洞CVE-2019-0708标签(空格分隔):网络攻防技术1.python-exp攻击步骤(1)开启Windows7的远程桌面服务:在windows7系统中依次选择【控制面板】→【系统和安全】→【允许远程访问】打开远程访问服务。(2)下载漏洞利用脚本:在互联网上搜索CVE-2019-0708相关的漏洞利用脚本,可......
  • 正点原子Ubuntu入门016---shell脚本条件判断、函数和循环
    一、shell脚本的条件判断虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂的就不行了shell脚本呢提供了if  then 条件判断语句,写法:if条件判断;then//判断条件成立要做的事情fi   ifthenelse语法 if条件判断;then//判断条件成立要做的事情e......
  • Oracle 19c 报ORA-704 ORA-01555故障处理---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:Oracle19c报ORA-704ORA-01555故障处理作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]异常断电导致数据库无法启动,尝试对数据文件进行recover操作,报ORA-00283ORA-00742ORA-00......
  • 1.变量&&输入输出
    1.变量&&输入输出变量概念:变量,本质上是一个装东西的盒子,并且只能存放一个值。1.变量的命名规则变量的名字由:数字,字母,下划线组成,并且不能以数字开头,且区分大小写。变量的定义格式:变量名=值注意:赋值符号(从左往右读),==等于。a=1b=1.1c='hnfkujg'3.变量的类型int整型,f......
  • 1.变量&&输入输出
    1.变量&&输入输出一·变量概念:变量,本质上是一个装东西的盒子,并且只能存放一个值。1·变量的命名规则变量的名字由:数字,字母,下划线组成,并且不能以数字开头,且区分大小写。2.变量的定义格式:变量名=值注意:=赋值符号(从右往左读),==等于a=55b=6.555c='apple'3.变量的......
  • AI语音克隆101
    人工智能语音克隆(也称为语音合成或语音复制)允许计算机模仿人类语音模式并产生令人惊讶的合成声音。本文讨论了AI语音克隆的想法、用途、优点、缺点以及从娱乐到可访问性的潜在未来进展。了解AI语音克隆AI语音克隆,特别是语音合成,是机器学习和自然语言处理(NLP)的一个有趣领域。......