关于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;
}
}
}

【ACM专项练习#01】基本输入输出,如何加减的更多相关文章

  1. mysql日期加减<转>

    1. MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day); - 加1天 select ...

  2. JS日期的获取与加减

    1)获取当前日期: var today = new Date(); 2)设定某个日期: var d = new Date("2015/1/08".replace(/-/g,&quo ...

  3. Oracle 如何对时间进行简单加减运算

    在我们用dbms_job包进行定时Job的时候,需要设置时间间隔,所以需要知道时间的基本加减方法. SQL> alter session set nls_date_format='yyyy-mm ...

  4. Linux中日期的加减运算

    Linux中日期的加减运算 目录 在显示方面 在设定时间方面 时间的加减 正文 date命令本身提供了日期的加减运算. date 可以用来显示或设定系统的日期与时间. 回到顶部 在显示方面 使用者可以 ...

  5. 利用机器学习实现微信小程序-加减大师自动答题

    之前有看到微信小程序<跳一跳>别人用python实现自动运行,后来看到别人用hash码实现<加减大师>的自动答题领取娃娃,最近一直在研究深度学习,为啥不用机器学习实现呢?不就是 ...

  6. mysql中使用日期加减时无法识别年-月格式数据的问题,%Y-%m"这种格式数据

    最新做报表统计的时候处理按月统计部分时发现,虽然使用 DATE_FORMAT( time, '%Y-%m' ) 函数可以将日期格式转成年-月,但是如果是参数是年-月格式,即"2018-10& ...

  7. 【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算

    在Python中,与时间处理相关的模块有:time.datetime以及calendar.学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的 ...

  8. js 日期 处理 加减时分秒

    1.日期处理 var _d = new Date("2018/01/01 12:00:00"); _d = new Date(_d.valueOf() + 60 * 1000);/ ...

  9. js中两个日期大小比较,获取当前日期,日期加减一天

    一.两个日期大小比较 1.日期参数格式:yyyy-mm-dd // a: 日期a, b: 日期b, flag: 返回的结果 function duibi(a, b,flag) { var arr = ...

  10. java基础篇 -- 常用的日期加减和日期格式化工具类

    平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: pa ...

随机推荐

  1. [转帖]SpringBoot配置SSL 坑点总结【密码验证失败、连接不安全】

    文章目录 前言 1.证书绑定问题 2.证书和密码不匹配 3.yaml配置文件问题 3.1 解密类型和证书类型是相关的 3.2 配置文件参数混淆 后记 前言 在SpringBoot服务中配置ssl,无非 ...

  2. Linux 安装宋体字体的简单办法

    1. 今天同事说测试环境(CentOS) 打印有异常,无法将汉字正常打印出来. 2. 开发同事提供的思路是安装上宋体的字体再进行尝试,并且给出了一个解决方案的地址: https://blog.csdn ...

  3. 在线获取所有依赖rpm包的方法

    背景 现在经常有一些不能上网的LInux机器但是需要安装一些软件. 但是有时候经常因为有依赖关系找不到的情况比较麻烦. 或者是一些公司的网络总是受限,网络速度非常慢. 下载安装非常折磨人. 这个时候就 ...

  4. mysql 的outfile以及infile 语法简单备份恢复表

    今天学习 姜老师的 mysql技术内存innodb存储引擎时看到了有一个outfile和infile的语法,感觉挺好的, 这里面进行一下简单的学习与验证. oufile 可以到处文件 infile 可 ...

  5. CS231N Assignment1 SVM 笔记

    svm.ipynb 为SVM实现一个完全矢量化的损失函数 为其解析梯度实现完全矢量化表达式 使用数值梯度检查实现结果 使用验证集调整学习率和正则化 使用 SGD 优化损失函数 可视化最终学习权重 第一 ...

  6. 一条sql了解MYSQL的架构设计

    1 前言 对于一个服务端开发来说 MYSQL 可能是他使用最熟悉的数据库工具,然而,大部分的Java工程师对MySQL的了解和掌握程度,大致就停留在这么一个阶段:它可以建库.建表.建索引,然后就是对里 ...

  7. 【字符串,哈希】【Yandex】Yandex7736

    2023.6.30 Problem Link 定义一个串 \(S\) 是好的,当且仅当 \(S\) 可以不断消去相邻两个相同字符直至消空.给定一个长为 \(n\) 的字符串 \(s\),求有多少个有序 ...

  8. js加减乘除运算出现精度丢失

    做乘法运算出现精度丢失 let aa= 2106.49 console.log( aa*10000 ) //21064899.999999996 console.log( Math.round(aa* ...

  9. 7.6 Windows驱动开发:内核监控FileObject文件回调

    本篇文章与上一篇文章<内核注册并监控对象回调>所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERAT ...

  10. C#9中使用静态匿名函数

    匿名函数是很早以前在C#编程语言中引入的.尽管匿名功能有很多好处,但它们并不便宜.避免不必要的分配很重要,这就是为什么在C#9中引入静态匿名函数的原因.在C#9中,lambda或匿名方法可以具有静态修 ...