给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X
的格式输出全部数字的和X
。
#include <iostream>
#include <iomanip> // 包含用于 std::setw 的头文件
using namespace std; // 引入整个命名空间 std
int main()
{
int A = 0;
int B = 0;
cin >> A >> B;
int sz = B - A;
int arr[40][5] = {0};
int n = A;
int m = A;
int l = A;
int sum = 0;
for (int i = 0; i <= sz; i++)
{
sum += n;
n++;
}
for (int j = 0; j <= sz / 5; j++)
{
for (int k = 0; k < 5; k++)
{
if (m <= B)
arr[j][k] = m;
m++;
}
}
for (int j = 0; j <= sz / 5; j++)
{
for (int k = 0; k < 5; k++)
{
if (l <= B)
cout << setw(5) << arr[j][k]; // 使用 setw(5) 来控制输出宽度为 5
l++;
}
cout << "\n";
}
cout << "Sum = " << sum;
return 0;
}
题解:
这段代码通过读取两个整数 A 和 B,然后计算从 A 到 B 的整数序列。它将这些整数按每行五个数字的格式进行输出,每个数字使用 setw(5) 进行右对齐。最后,输出这些整数的总和,格式为 "Sum = X",其中 X 是所有整数的和。