L1-008 求整数段和 (10分)

0
10

L1-008 求整数段和 (10分)

给定两个整数 \(A\) 和 \(B\),输出从 \(A\) 到 \(B\) 的所有整数以及这些数的和。

输入格式:

输入在一行中给出 \(2\) 个整数 \(A\) 和 \(B\),其中 \(−100 \leqslant A \leqslant B \leqslant 100\),其间以空格分隔。

输出格式:

首先顺序输出从 \(A\) 到 \(B\) 的所有整数,每 \(5\) 个数字占一行,每个数字占 \(5\) 个字符宽度,向右对齐。最后在一行中按 Sum = X 的格式输出全部数字的和 \(X\)。

输入样例:

-3 8

输出样例:

   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30

解题思路:

按要求输出即可。注意格式控制。

代码:

#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
    cin>>a>>b;
    for(int i=a;i<=b;i++)
    {
        cout<<setw(5)<<setfill(' ')<<i;
        if((i-a+1)%5==0)cout<<endl;
    }
    if((b-a+1)%5)cout<<endl;
    cout<<"Sum = "<<(a+b)*(b-a+1)/2<<endl;
    return 0;
}

<

发布回复

请输入评论!
请输入你的名字