L1-008 求整数段和(循环控制+格式化输出)

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

输入格式:

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

输出格式:

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

输入样例:

1
-3 8

输出样例:

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

思路:

简单的循环和控制格式化输出,注意最后一行个数是5时,不要多输出一个换行。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;

int A, B, sum = 0, cnt = 0;

int main()
{
scanf("%d %d", &A, &B);
for(int i = A; i <= B; i++)
{
sum += i;
cnt ++;
printf("%5d", i);
if(cnt % 5 == 0 && i != B)
printf("\n");
}
printf("\nSum = %d", sum);

return 0;
}