连续整数相加

读入两个整数值 A 和 N,计算从 A开始的 N个连续整数的和。

注意,如果读入的 N为0或负数,则继续读取数字直至读入 N值为正整数为止。

输入格式

共一行,包含整数 A和若干个整数 N(不超过 100100 个)。

输出格式

一个整数,表示从 A开始的 N个连续整数的和。

数据范围

1≤A≤100,
−100≤N≤100

输入样例1:
3 2
输出样例1:
7
输入样例2:
3 -1 0 -2 2
输出样例2:
7

  本题很简单。关键就是如果读入的 N为0或负数,则继续读取数字直至读入 N值为正整数为止这句话。其实也就是一行代码的事:

while(cin>>n,n<=0);

  逗号操作符在C++中用于串联两个或多个表达式。它首先执行左侧的表达式(cin >> n),然后执行右侧的表达式(n <= 0),并返回右侧表达式的结果。while循环结构会重复执行括号中的条件表达式直到该表达式返回false

  也就是说,这行代码的内涵是:

  • 从标准输入读取一个值存入n
  • 如果n的值小于或等于0,那么继续读取下一个值。
  • 重复上述过程直到读取到一个大于0的值为止。

  这个循环没有主体({ ... }),它的全部行为都在条件部分完成。

我写的AC代码如下,记得不要写错for循环的边界。

#include<bits/stdc++.h>
using namespace std;

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值