[L1-008]求整数段和 | PAT GPLT团体程序设计天梯赛

Description

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

Input

输入在一行中给出2个整数A和B,其中-100<=A<=B<=100,其间以空格分隔。

Output

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

Sample Input

-3 8

Sample Output

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

Hint

利用 printf 的格式化符指定宽度并右对齐。
注意对换行的判断。

题解

#include "cstdio"
#include "cstdlib"
#include "cstring"
#include "cmath"
int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    for (int i = a; i <= b; i++)
        printf(((i - a + 1) % 5 == 0 && (i - a + 1) != 0 && i != b) ? "%5d\n" : "%5d", i);
    printf("\nSum = %d",(a+b)*(b-a+1)/2);
    return 0;
}

CC BY-SA 4.0 [L1-008]求整数段和 | PAT GPLT团体程序设计天梯赛 by 小小泥娃 is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.